C# 调用 MFC DLL
创建项目
创建MFCDLL项目
MFC项目中这么声明
生成dll工程
可以看到库文件的生成目录,保存下来
创建测试用c#项目
我们创建一个按钮调用我们刚才的函数
这边这么调用MFC库的函数入口。这里并不是com控件,所以不能直接从引用里面拉进来。
否则会报 未能添加引用,请确保此文件可访问并且是一个有效的程序集或COM组件。 错误
添加using
调用方式就像类的静态方法
这里看到设置的入口函数和声明的不一样。
所以会报错
我们把入口 entryPoint修改一下。或者删掉。只要保持和库那边设置一致即可
效果如下
现在我们添加MFC的窗口
在声明出使用doModel的原因是退出函数这里会释放资源。如果show会出错
C#方面这样调用
成功显示窗口
在跨语言调用中,有可能会出现消息队列不一致问题。这里测试一下。在不乱设置的情况下。窗口消息响应
我们在MFC中设置一个按钮消息
运行可以正常显示
消息是能正常处理的