C#如何调用MFC 窗口 DLL
作者:lan154633 时间:2022-04-14 09:57:51
C#调用MFC 窗口 DLL
MFC DLL
创建一个窗口类,加public和AFX_EXT_CLASS
MFC DLL属性
注意
MFC的使用:在共享DLL中使用MFC
公共语言运行时支持:公共语言运行时支持(/clr)
在预处理器中添加_AFXEXT
在项目名称.cpp里添加要输出的函数
注意第一行AFX_MANAGE_STATE(AfxGetStaticModuleState())不可少
C# Application
添加引用:
然后将MfcDll.dll和MfcDll.lib放在C# Application里的Debug下
Form1.cs添加:
using System.Runtime.InteropServices;
进行如下调用:
若是报错PInvoke签名不对,CallingConvention=CallingConvention.StdCal改成CallingConvention = CallingConvention.Cdecl
C# 调用 C++ MFC DLL
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;
}
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);
}
来源:https://blog.csdn.net/u011896623/article/details/78531406
标签:C#,MFC,窗口,DLL
0
投稿
猜你喜欢
C#打印日志的方法总结
2022-02-08 22:32:00
java实现简单的小超市程序
2023-05-17 00:04:29
C#调用和实现WebService,纯手工打造!
2023-12-12 14:58:30
Java中关于二叉树层序遍历深入了解
2023-07-26 07:06:09
解决C#中Linq GroupBy 和OrderBy失效的方法
2022-11-21 00:25:11
彻底搞定堆排序:二叉堆
2022-12-06 23:24:15
Android开发中自定义 editText下划线
2023-03-30 13:40:35
C#通过重写Panel改变边框颜色与宽度的方法
2021-07-09 05:57:52
Android中获得正在运行的程序和系统服务的方法
2023-01-19 21:05:42
java多线程-同步块实例讲解
2022-06-21 02:10:41
Android SQLite数据库的增 删 查找操作
2023-02-09 09:47:25
C# 操作XML文档 使用XmlDocument类方法
2023-06-11 04:21:14
Druid基本配置及内置监控使用_动力节点Java学院整理
2022-12-16 20:55:58
Android Service详解及示例代码
2021-12-24 05:44:17
Android百度地图实现搜索和定位及自定义图标绘制并点击时弹出泡泡
2023-08-30 21:30:38
c#读写注册表示例分享
2022-06-26 13:08:45
Spring Data JPA框架快速入门之自定义Repository接口
2023-05-23 03:49:48
C#飞机打字游戏的代码示例(winform版)
2021-09-10 17:43:17
关于Android实现简单的微信朋友圈分享功能
2021-07-01 16:49:49
详解SpringBoot初始教程之Tomcat、Https配置以及Jetty优化
2023-10-25 23:34:02