日期:2014-05-19  浏览次数:21112 次

C#里能使用MFC扩展的dll中的类吗
C#里能使用MFC扩展的dll中的类吗

------解决方案--------------------
要用托管C++封装一下才能用!
不能直接用!
------解决方案--------------------
就是C#是不能够直接用MFC的类库的!!!
------解决方案--------------------
要编译成中间语言才能用
------解决方案--------------------
mfc 做成com的
C#引用

------解决方案--------------------
做成com

------解决方案--------------------
using System.Text;
using System.Runtime.InteropServices;

[DllImport( "VC.DLL ", EntryPoint= "GetName ")]
public static extern int GetName(
int intPara1,
out intPara2,
ref intPara3,
string strPara4,
out string strPara5,
ref string strPara6,
StringBuilder strPara7);


部分参数对照表:
C++ I/O C#
char path[255] O StringBuilder
KCA_DIR I int
LPCSTR I string
int I int
LPSTR O StringBuilder
int* O out int
DWORD I int
DWORD* O out int
BOOL I bool
long* O out long

另:StringBuilder在使用时,必须指定大小:
StringBuilder strPara = new StringBuilder(255);