C# 调用 C++ MFC DLL

来源:互联网 发布:阿里云解析 一定要买吗 编辑:程序博客网 时间:2024/05/01 19:31


1. C++ MFC DLL 的封装

  • 创建 MFC DLL 项目
  • 选择 DLL type 为 Regular DLL using shared MFC DLL
  • 设置项目属性的 Character Set 为 Use Multi-Byte Character Set,若不设置,接收的字符串只有一个字符
  • 方法需要被导出,否则导出名称会被自动命名具体如下
extern "C" __declspec(dllexport) BOOL AddSignature(char* csFileFullName){    AfxMessageBox(csFileFullName);    return true;}


2. C# 中调用,CharSet须设置为多字节的 Ansi

[DllImport("CppDllTest.dll", EntryPoint = "AddSignature", CallingConvention = CallingConvention.Cdecl, CharSet = CharSet.Ansi)]private static extern bool AddSignature(string path);public static bool MyAddSignature(string strMy){    return AddSignature(strMy);}


0 0
原创粉丝点击