急 activex动态调用dll 怎么调用。
急 activex动态调用dll 如何调用。。。
需要在网页上面调用 读卡器信息。 所以用vs2010 写了个 mfc的 ocx。 我把动态库 放在 E:\vc2010\CardReader\Debug 项目目录下面。 但是加载的时候 显示为null 。 加载代码如下。 程序走到了 if (hInst1 == NULL) 这个分支。请高手指点。。。
CString HandleCard::getCardIDOp(void )
{
CString str("aaaaaa");
unsigned char status;//存放返回值
typedef unsigned char (__stdcall *piccrequest)(unsigned char *serial);
piccrequest pd ;
HINSTANCE hInst1 = LoadLibrary(_T("OUR_MIFARE.dll"));
if (hInst1 == NULL)
MessageBox(0,_T("hinst1 err"), NULL, 0);
else
MessageBox(0,_T("hinst1 ok"), NULL, 0);
pd = (piccrequest)GetProcAddress(hInst1, "piccrequest");
if (pd == NULL)
MessageBox(0,_T("pd error get"), NULL, 0);
else {
MessageBox(0,_T("pd ok get"), NULL, 0);
}
//unsigned char *isdn = new unsigned char[4];
//status = pd(isdn);
return CString(str);
}
------解决方案--------------------
activex 不用load的,你要先注册先
然后根据接口uuid来创建实力对象
需要在网页上面调用 读卡器信息。 所以用vs2010 写了个 mfc的 ocx。 我把动态库 放在 E:\vc2010\CardReader\Debug 项目目录下面。 但是加载的时候 显示为null 。 加载代码如下。 程序走到了 if (hInst1 == NULL) 这个分支。请高手指点。。。
CString HandleCard::getCardIDOp(void )
{
CString str("aaaaaa");
unsigned char status;//存放返回值
typedef unsigned char (__stdcall *piccrequest)(unsigned char *serial);
piccrequest pd ;
HINSTANCE hInst1 = LoadLibrary(_T("OUR_MIFARE.dll"));
if (hInst1 == NULL)
MessageBox(0,_T("hinst1 err"), NULL, 0);
else
MessageBox(0,_T("hinst1 ok"), NULL, 0);
pd = (piccrequest)GetProcAddress(hInst1, "piccrequest");
if (pd == NULL)
MessageBox(0,_T("pd error get"), NULL, 0);
else {
MessageBox(0,_T("pd ok get"), NULL, 0);
}
//unsigned char *isdn = new unsigned char[4];
//status = pd(isdn);
return CString(str);
}
------解决方案--------------------
activex 不用load的,你要先注册先
然后根据接口uuid来创建实力对象