刚刚听过 MSDN Webcast关于P/invoke的讲座,讲师张羿做了一个最简单的调用 user32.dll 的 MessageBox 函数的范例。让我想起当年学VB6时的API调用,是一个道理。记得那时候就有一个 API 辅助查询工具,P/Invoke Interop Assistant 与那个功能类似,使用它就不必自己去查找 MSDN 或者程序的头文件信息了,甚至不必自己去写诸如 DllImport、DllImportAttribute 这样的语句。直接查找需要的 API,然后生成代码粘到 .NET 工程里就是了。当然,对于外部DLL函数调用,还是需要手写的。 这个工具很早前就存在,至今只有英文版本,是个非常小的工具。 下载网址: http://msdn.microsoft.com/en-us/magazine/cc164193.aspx 或者直接点击这里下载: CLRInsideOut2008_01.exe 运行解压后执行 winsiggen.exe 就可以了,如下图: 在Main函数里写上测试代码,运行下就出现了,是不是很方便? 呵呵~~ 从图片上看代码不清晰,下面是自己写一个简单的 user32.dll 的 MessageBox 调用:
|
利用P/Invoke Interop Assistant写一个最简单的CLR程序
最新推荐文章于 2019-07-15 14:13:53 发布