读书人

C#中调用C++的DLL资料

发布时间: 2012-12-19 14:13:15 作者: rapoo

C#中调用C++的DLL文件

这几天公司需要做一个通过刷卡来控制用户上网的功能。我先扩展了windows DDK的passthru源码包,生成了一个NDIS中间层驱动文件。接下来就要写程序控制这个驱动,以达到上网控制的目的。

?

控制程序是用C++代码完成的,先编译成动态链接库(dll)文件。编译的过程就不再废话了,网上很多。这里提示一点就是开始建立MFC dll工程的时候,应该选择“动态链接库和MFC静态链接”这一项,这样编译出来的dll文件是不需要引入库文件(.lib)的。

?

生成好后,得到dll文件(如ForbidNetDll.dll),写一个简单的C#类,例如前面的dll文件导出函数为int forbidNet(int flag); C#类应该这样写:

?

csc /t:library /out:NetControl.dll NetControl.cs

?

?

这样就生成了NetControl.dll这个C#可以直接引用的dll文件。当然最后运行的时候ForbidNetDll.dll也得拷贝到工程目录下。因为NetControl.dll运行的时候,执行方法forbidNet时需要去ForbidNetDll.dll中找。

?

最后就是写测试程序测试我们的NetControl.dll了。Just relax!

1 楼 piao_bo_yi 2011-03-12 导出函数是容易的,导出类可以试一试。 2 楼 mathgl 2011-03-13 为啥要用mfc呢???

读书人网 >C++

热点推荐