如何使用不同语言定义的DLL接口呢?

比如说DLL定一个了一个C++接口的方法:voidfunction(wchar_t*pszPage);在C#的程序里调用这个方法,可是C#根本不认wchar_t类型阿... 比如说

DLL定一个了一个C++接口的方法:
void function(wchar_t *pszPage);

在C#的程序里调用这个方法,可是C#根本不认wchar_t类型阿
展开
 我来答
socg
2007-04-21 · TA获得超过136个赞
知道答主
回答量:104
采纳率:0%
帮助的人:49.8万
展开全部
举个例子:你要调用user32.dll中的GetCursorPos(),在C中的原形是
BOOL GetCursorPos(LPPOINT lpPoint);

在C#中你可以这样定义

[StructLayout(LayoutKind.Sequential)]
public struct POINTAPI {//对应C中LPPOINT的定义
public int x;
public int y;
}

[DllImport("user32.dll", EntryPoint="GetCursorPos")]
public static extern bool GetCursorPos (ref POINTAPI lpPoint);//ref 就相当于指针
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式