首页 新闻 会员 周边

C# .DLL调用问题

0
悬赏园豆:10 [已关闭问题] 关闭于 2012-11-06 17:21
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#里换转里什么类型?

C#
一坨黄色的主页 一坨黄色 | 初学一级 | 园豆:13
提问于:2012-05-17 11:08
< >
分享
所有回答(3)
0

是否你的DLLIMPORT里的DLL文件名不正确?比如带了个空格?此外,这个DLL是否可以访问?比如是否复制到了SYSTEM32文件夹或应用程序运行文件夹?

无之无 | 园豆:5095 (大侠五级) | 2012-05-17 11:11
0

char*在C#一般为String 或 char类型     给你个C++与C#类型转换表http://www.cnblogs.com/zhujp/archive/2012/03/19/2405472.html

一毛钱的爱 | 园豆:168 (初学一级) | 2012-05-17 16:39
0

我直接把转换好的函数写在代码里就可以调用,Authen.(port,BH,RandomA,RandomMiWen1);这样就可以调用..

如果是这样  TestZhu.Authen.(port,BH,RandomA,RandomMiWen1);它就报错:无法加载 DLL“TestZhu .dll”: 找不到指定的模块

不知道是为什么?

一坨黄色 | 园豆:13 (初学一级) | 2012-05-18 11:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册