int WINAPI Authen(int port, char *BH, char *RandomA, char *RandomMiWen1)
上面是DLL里面的一个函数原型.
我转换成这样.
[DllImport("TestZhu .dll")] public static extern int Authen(int port, StringBuilder BH, StringBuilder RandomA, StringBuilder RandomMiWen1);
运行总是报错:无法加载 DLL“TestZhu .dll”: 找不到指定的模块
函数原型在C#里要调用怎么怎么写?char*应该在C#里换转里什么类型?
是否你的DLLIMPORT里的DLL文件名不正确?比如带了个空格?此外,这个DLL是否可以访问?比如是否复制到了SYSTEM32文件夹或应用程序运行文件夹?
char*在C#一般为String 或 char类型 给你个C++与C#类型转换表http://www.cnblogs.com/zhujp/archive/2012/03/19/2405472.html
我直接把转换好的函数写在代码里就可以调用,Authen.(port,BH,RandomA,RandomMiWen1);这样就可以调用..
如果是这样 TestZhu.Authen.(port,BH,RandomA,RandomMiWen1);它就报错:无法加载 DLL“TestZhu .dll”: 找不到指定的模块
不知道是为什么?