2013-10-03 13 views
5

Dường như API Win32 (API C C dành cho các ứng dụng Windows nguyên bản) đang ngày càng bị vượt qua bởi các khung công cụ và bộ công cụ hiện đại hơn, bao gồm WPF và Qt của Microsoft.Chức năng duy nhất đối với API Win32?

Nếu ngôn ngữ lập trình không phải là mối quan tâm - nếu bạn không được đặt trên môi trường được quản lý hoặc kiểu lập trình chức năng, v.v. - Win32 API có đưa bất kỳ thứ gì vào bảng không? Có chức năng nào mà người ta có thể thực hiện với Win32 API không có sẵn với WPF hay các khung công tác khác không?

Tôi biết có thể trộn mã Win32 vào phần mềm WPF/được quản lý, do đó, người dùng không phải chọn một hoặc một phần mềm khác. Nhưng một số ví dụ về việc cần phải tách ra Win32 API khi phát triển một chương trình bằng ngôn ngữ/khuôn khổ cao hơn là gì?

Trả lời

3

Chắc chắn.

Tất cả các khung được viết theo API Win32. Các khuôn khổ bao gồm 80-95% những gì các lập trình viên cần làm, nhưng nếu bạn thực sự cần kiểm soát mức độ thấp đối với một thứ gì đó, bạn sẽ cần phải thả xuống API Win32 cơ bản. Một số ví dụ sẽ là:

  1. điều khiển chính xác hơn việc vẽ chữ (thông qua DirectWrite),
  2. kiểm soát chi tiết hơn nhận dạng giọng nói sử dụng SAPI (có được hàng chục giao diện không tiếp xúc qua System.Speech),
  3. thấp mã mạng nối tiếp (ví dụ: mọi thứ không liên quan đến HTTP),
  4. Thực tế mọi thứaudio related, nếu bạn quan tâm đến hiệu suất.
+0

Mô tả rộng rãi gọn gàng +1 – fayyazkl

2

Một ví dụ cụ thể khác là "móc cửa sổ".

Tôi cần phải móc một số chương trình ổ cắm tại một số điểm và cách duy nhất có thể là cửa sổ api.

Để xây dựng, tôi muốn nhận tất cả các liên lạc nhận được trên một số ổ cắm nghe trên một ổ cắm khác. Việc này yêu cầu hooks

2

... và đừng quên truy cập phần cứng trực tiếp như "WinUSB" và chức năng gỡ lỗi (viết các chương trình hoạt động như trình gỡ lỗi).

+0

Vâng một điều quan trọng khác +1 – fayyazkl

Các vấn đề liên quan