日期:2014-05-17  浏览次数:20999 次

请问如何将C++结构体中的CMenu*转换成C#的结构体
现有C++结构体

C/C++ code

typedef struct ToolInfo
{
    char szToolAppName[MAX_PATH];
    HBITMAP hToolBitmap;
    CMenu* ToolMenu;
}DLL_DLG_TOOL_INFO,*PDLL_DLG_TOOL_INFO;



需要转换成C#的结构体。请问该怎么转换。主要是CMenu* 不会转换。

------解决方案--------------------
CMenu的定义你找下啊,那个也需要转换了才能用。
------解决方案--------------------
CMenu是mfc的啊,这也太乱了吧……
------解决方案--------------------
MS不行 个人试过建立普通C++ 类的DLL,然后C#调用,行不通,只能全部转化为static。。。。

自己用C++写个CMENU的库吧,把能用到的函数全部static出来,添加intptr参数用来辨别是哪个Cmenu。。

------解决方案--------------------
C#调用MFC的类非常非常难,我看过国外一帖子貌似有过。。。

你最好用VC做个DLL,过渡一下,传递的参数避开MFC的类库,而是使用标准类型。。