c# - win32 api 过时了吗?

标签 c# .net c windows winapi

<分区>

win32 api 是否仍在开发中,今天值得学习吗?你能用 .net framework 做你能用原生 api 做的所有事情吗?

最佳答案

Windows API 仍在开发中。例如,参见 Windows 8.1 New APIs and features for developersWindows 8 and 8.1 API Index .过时的?不见得。始终需要了解 Windows 如何在较低级别工作的人员。必须有人编写设备驱动程序和低级系统实用程序。

知识很少是无用的。如果您正在编写低级实用程序,那么学习 Windows API 的工作原理是绝对必要的,即使在使用 C++ 或 Delphi 编写 native 应用程序时也非常方便。当您编写 .NET 应用程序时,情况就不太一样了,但是很多 .NET 运行时库都严重依赖于 Windows API。因此,了解它的“幕后”工作原理非常有用。

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

在大多数 .NET 开发中,您可能不需要了解有关 Windows API 的任何知识。但它肯定不会受伤。我知道,我对 Windows API 编程的理解增强了我对 .NET 的某些部分为何以它们的方式工作的理解。此外,在与 Windows API 开发作斗争之后,我更能体会到 .NET 给我带来的巨大生产力提升。

关于c# - win32 api 过时了吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18193915/

相关文章:

c# - ASP.NET 中的倒计时

c# - 为什么 StringBuilder 的默认容量是 16 个字符?

.net - 限制 Windows .NET 服务的 CPU 使用率

.net - 当 -sDEVICE 是图像格式时,将多页打印到 %printer%?

c - 遍历空终止数组

c++ - 如何使用 C/C++ 在 exe 中完全内部存储用户设置?

c# - 使用 LINQ to Entities 将派生类转换为基类

c# - 显示GIF后,C#Windows Form中的WMP停止播放声音

c# - 如何将多个列表与 Lambda 表达式相交?

c - 从通信资源中读取