我们知道.NET框架类封装了Win32 API,现在我想知道.NET框架类如何调用Win32 API?
到目前为止我所知道的方式:
通过P/Invoke
实现
有人知道答案吗?
发布于 2009-11-13 05:22:35
大多数框架类在需要调用非托管API时使用P/Invoke。在System.Windows.Forms上启动Reflector,您将看到名为NativeMethods和UnsafeNativeMethods的类,它们执行大量P/Invoke操作。类似地,System.Drawing有一个SafeNativeMethods类,它声明所有的GDI+ P/调用。
另一个没有提到的主要互操作方法是COM互操作。我不知道这在框架中的使用范围有多广,但我猜想有些WMI (System.Management)工具会大量使用它,当然还有WinForms ActiveX支持。
https://stackoverflow.com/questions/1727258
复制相似问题