win32 api是否已过时

本文关键字:过时 是否 api win32 | 更新日期: 2023-09-27 18:27:19

win32api还在开发中吗?今天值得学习吗?你能用.net框架做你能做的一切吗?

win32 api是否已过时

Windows API仍在开发中。例如,请参阅Windows 8.1开发人员的新API和功能以及Windows 8和8.1 API索引。淘汰的不太可能。人们总是需要了解Windows在较低级别上是如何工作的。必须有人编写设备驱动程序和底层系统实用程序。

知识很少是无用的。如果你正在编写低级实用程序,学习Windows API的工作原理是绝对必要的,而且即使在用C++或Delphi编写本机应用程序时也非常方便。在编写.NET应用程序时情况就不那么好了,但许多.NET运行库在很大程度上依赖于Windows API。因此,了解它是如何"在引擎盖下"工作的是非常有用的。

此外,还有一些.NET库没有公开的东西。例如,我正在开发的一个C#程序需要访问另一个开发人员在C++应用程序中使用的Waitable Timer。.NET库没有为那个特定的内核对象提供包装器,所以我不得不自己编写,这涉及到深入研究Windows API。

在大多数.NET开发中,您可能不需要了解Windows API的任何内容。但它肯定不会痛。我知道,我对Windows API编程的理解增强了我对.NET某些部分工作方式的理解。此外,在Windows API开发方面遇到了困难,我更能体会到.NET给我带来的巨大生产力提升。

这个问题的另一个答案是从专业软件管理的角度。具体来说,微软废除Win32 api的成本太大了。也就是说,例如,如果他们不支持Windows 9,那么目前正在运行需要API程序的每个客户都会重新评估他们使用任何Microsoft产品的需求。

一些客户,即少数客户,会说微软的产品太贵,并会抓住机会:1)在Windows 8及之前一直使用,直到时间结束,永远不要从微软购买其他产品;或者2)将他们的业务系统转换为使用*nix或苹果系统。

注意,以上不是我的猜测。这件事发生在20世纪60年代的IBM身上,当时他们迫使客户群迁移到360系列硬件。当时,360与以前的IBM大型机完全不同,客户必须对现有软件进行大量重新工作,才能在新机器上运行。许多IBM客户选择Sperry Rand和其他硬件供应商,因为他们的新机器和转换成本低于IBM 360和转换成本。

IBM几乎倒闭是因为企业有权自由选择!他们(IBM)吸取了教训。直到今天,在今天的IBM大型机上运行20世纪60年代编写的程序仍然是可能的。

WIN API仍在开发中。

根据你计划做什么,可能有用,也可能不有用。。

是的,有些事情是.Net无法完成的,在这种情况下,您可以使用PInvoke。但是INMH你不需要知道WINAPI,只需要知道需要时在哪里搜索即可。。

http://www.pinvoke.net/default.aspx

您仍然可以在.NET:中使用win32api

http://msdn.microsoft.com/en-us/magazine/cc164123.aspx