Win32 API独有的功能?

时间:2013-10-03 05:33:49

标签: winapi

似乎Win32 API(本机Windows应用程序的 C API)越来越被更现代的框架和工具包所取代,包括微软自己的WPF和Qt。

如果编程语言不是一个问题 - 如果你没有设置在托管环境或函数式编程风格等 - Win32 API是否会带来任何表格? 是否可以使用WPF或其他框架无法使用的Win32 API实现任何功能?

我知道可以将Win32代码混合到WPF /托管软件中,因此不必选择其中一个。但是,在更高级语言/框架中开发程序时需要打破Win32 API的一些例子是什么?

4 个答案:

答案 0 :(得分:3)

另一个更具体的例子是“windows hooks”。

我需要在某些时候挂钩一些套接字程序,唯一可行的方法是windows api。

详细说明我希望接收在另一个侦听套接字上收到的所有通信。这样做需要hooks

答案 1 :(得分:2)

当然可以。

所有框架都是根据Win32 API编写的。这些框架涵盖了80-95%的程序员需要做的事情,但是如果你需要对某些东西进行真正的低级控制,那么你需要使用底层的Win32 API。一些例子是:

  1. 精确控制文字渲染(通过DirectWrite),
  2. 使用SAPI对语音识别进行详细控制(实际上有几十个未通过System.Speech公开的接口),
  3. 低级网络代码(即任何与HTTP无关的内容),
  4. 实际任何 audio related,如果您对效果感兴趣。

答案 2 :(得分:2)

...不要忘记直接硬件访问,例如" WinUSB"和调试功能(编写充当调试器的程序)。

答案 3 :(得分:0)

目前,Win32 API几乎无法被任何框架所接管。 如果真是这样,Microsoft不会更新大多数API。而是添加和更新了许多新接口。

还有Qt之类的框架,但是,除非您需要创建的琐碎小事,否则最终将使用该API,特别是对于新的图形库,音频,视频,usb,功能区,套接字,网络,COM自动化,生物识别,加密,数字签名,安全性,脚本等。

实际上,大多数库已经过时了,虽然您可以 创建一个主要依赖于工作线程而不是依赖于接口的应用程序,但是今天构建一个美观,现代且有用的应用程序肯定需要API 。因此,投资仅覆盖应用程序最小部分的框架是不值得学习的,这些框架主要针对的是真正新手和没有经验的Windows开发人员。