首先动态库文件:fzyktclient.dll 另外还有几个文件,我都同时放在程序目录中BIN文件夹下,System32下也同时存放了
动态库函数如下:
int ykt_readopencardno_local (char *pRegion, char *pDeptid,char *pDeptKey, char * pCardtype,char * pCardno, char *pWarnmsg,char *pErrmsg)我的C#调用代码:小弟初次接触相关技术,各位大哥帮我看看哪里语法有问题么?我用绝对路径也试过,也调不到,我不知道动态库是什么语言写的,好像是C++,具体不太清楚- -!我用DLL分析器分析过了,函数确实存在,再说了,如果是函数不存在的问题,它应该报找不到程序入口点的错误,可现在连文件都找不到- -!
public class ClassCard
{
[DllImport("fzyktclient.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern int ykt_opendevice(int nDeviceType, int nCom, int nBaud, string pRegion, string pWarnmsg, string pErrmsg);
}我用C#调用该动态库,程序出错:无法加载 DLL“fzyktclient.dll”: 找不到指定的模块。 (异常
来自 HRESULT:0x8007007E)。。我在网上查了很多相关错误,有的说文件要放在System32下,或者放在程序执行文件一起,我都试过了,不行,急求高手解决,小弟万分感谢!!!
动态库函数如下:
int ykt_readopencardno_local (char *pRegion, char *pDeptid,char *pDeptKey, char * pCardtype,char * pCardno, char *pWarnmsg,char *pErrmsg)我的C#调用代码:小弟初次接触相关技术,各位大哥帮我看看哪里语法有问题么?我用绝对路径也试过,也调不到,我不知道动态库是什么语言写的,好像是C++,具体不太清楚- -!我用DLL分析器分析过了,函数确实存在,再说了,如果是函数不存在的问题,它应该报找不到程序入口点的错误,可现在连文件都找不到- -!
public class ClassCard
{
[DllImport("fzyktclient.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)] public static extern int ykt_opendevice(int nDeviceType, int nCom, int nBaud, string pRegion, string pWarnmsg, string pErrmsg);
}我用C#调用该动态库,程序出错:无法加载 DLL“fzyktclient.dll”: 找不到指定的模块。 (异常
来自 HRESULT:0x8007007E)。。我在网上查了很多相关错误,有的说文件要放在System32下,或者放在程序执行文件一起,我都试过了,不行,急求高手解决,小弟万分感谢!!!
的模块。
2、把你的C#编译二进制文件与此dll放在一个目录下,
而那个dll不在标准路径下
我用你推荐的工具分析了一下,缺少两个依赖文件,如下:
DESALGO.DLL 打开文件出错。 系统找不到指定的文件。 (2).
还有一个是msjava.dll,我从网上下载了一个,目前只有上面那个DLL找不到了,我想问一下,上面那个DLL
是干什么,是系统文件吗?我在网上没有搜到不知道是不是加密文件之类的。。相关动态库提供商也没有给我提供。