《.NET 中 COM 与 Win32 API 的使用指南》
1. .NET 与现有技术交互的必要性
在 Windows 领域,.NET 框架是个新成员。在未来一段时间里,.NET 应用程序需要与现有的 Windows 技术进行交互,特别是在组件对象模型(COM)和 Windows 应用程序编程接口(API)这两个方面。
COM 是微软最初用于构建独立于语言的软件组件的技术,在系统层面广泛使用,也是许多 ActiveX 控件的基础,这些控件在 Visual Basic 和 C++ 项目中被广泛应用。.NET 提供了一种无缝互操作的方式,即 COM Interop,让 .NET 和 COM 对象能够相互协作。
Windows API 是 Windows 程序员编写 Windows 应用程序时使用的函数集合。.NET 框架在 Windows API 之上提供了面向对象的层,但有时需要使用 .NET 无法访问的 API 调用,这时可以使用 .NET 平台调用(P/Invoke)机制从 .NET 代码中调用 C 或 C++ 函数。
2. COM 相关内容
2.1 COM 与 .NET 互操作的场景
- .NET 代码使用 COM 对象:在 .NET 早期,这种场景更为常见,因为存在大量的“遗留”COM 对象,特别是 ActiveX 控件,需要被 .NET 代码使用。
- .NET 对象作为 COM 对象使用:这种场景相对较少,但有时也会出现,比如需要将 .NET 代码添加到现有的基于 COM 的应用程序中。 </