使用 .NET 框架类替代 API 调用 -- Zt

作者:袖梨 2022-07-02
摘要:通过学习 Microsoft .NET 框架中某些特定而有用的类,可以减少您对 Win32 API 调用的依赖。本文讨论的每个类都可以代替一个或多个 Win32 API 调用,而在 Microsoft Visual Basic 6.0 中,您必须调用一个或多个 Win32 API 才能完成相同的任务。
 目标查找现有 Win32 API 调用的特定替代品。
 了解 Registry 类。
 使用 FileVersionInfo 类。
 使用环境信息和系统信息。
 目录避免使用 Win32 API 使用注册表 使用常用对话框 检索文件版本信息 检索环境信息 总结 避免使用 Win32 API
如果您是一位 Microsoft Visual Basic® 6.0 开发人员,您就无法避免调用 Win32 API。开发人员有太多的任务需要完成,而 Visual Basic 却不能提供任何实现方法。例如,在 Visual Basic 6.0 中,您很难完成以下任务: 确定文件版本信息。
在注册表的任何位置进行读取和写入操作。
确定用户的特定文件夹,例如 Microsoft Windows® 收藏夹或个人文件夹。
检索所有可用驱动器的列表。
查找用户的登录名或计算机名。
检索所有打开窗口的列表。
如果仅使用 Visual Basic 6.0 中提供的工具,您不可能解决上述任何问题。对于每个问题,开发人员都需要使用 Windows API。许多开发人员使用 Windows API 已经找到了完成这些(以及许多其他)任务的方法。
Windows API 存在什么问题?
为什么不继续在 .NET 环境中使用 Windows API 呢?如果使用 .NET 平台调用服务(称为“P/Invoke”),您当然可以这样做。从 Visual Basic 开发人员的角度来说,调用 Windows API 并不比使用他们所熟悉的 Declare 语句困难。不过,在 .NET 环境中使用 Windows API 存在一些比较严重的缺陷,您可能需要考虑采取任何可行的措施来避免这些问题。例如:
.NET 公共语言运行时不会受平台影响。当您使用 Windows API 调用时,您将代码绑定到编写代码的特定平台上(即,相对于其他操作系统的某个特定 Windows 版本或 Windows 本身)。必要时,您需要将代码转换到另一个平台上,而这样做就需要修改使用 API 调用的每行代码。

相关文章

精彩推荐