需要引用的windows库
1、 legacy_stdio_definitions.lib
2、 #pragma comment(lib,“AdvAPI32”)
需要引用的头文件
#include <Windows.h>
#include <AclAPI.h>
pro文件库引用
LIBS += -lRockey3_x64
LIBS += -llegacy_stdio_definitions
调用示例
RY_HANDLE handle = 0;
DWORD retcode;
char vendorID[9] = "自己的开发商ID";
int count = 0;
char buf[20];
int i;
retcode = RY3_Find(vendorID,&count);
if(retcode != RY3_SUCCESS){
qDebug() << QStringLiteral("查找失败!");
return 0;
}
for(i = 1;i <= count;i++){
retcode = RY3_Open(&handle,i);
if(retcode != RY3_SUCCESS){
qDebug() << QStringLiteral("开锁失败!")<<i;
return 0;
}
memset(buf,0,sizeof(buf));
retcode = RY3_GetHardID(handle,buf);
if(retcode != RY3_SUCCESS){
qDebug() << QStringLiteral("读取硬件信息失败!")<<i;
return 0;
}
QString strHard = QString(buf);
if(strHard == "自己的硬件ID"){
qDebug() << QStringLiteral("加密狗正确!")<<i;
}
RY3_Close(handle,TRUE);
}
后记
在这之前还测试了一下Rockey1的库,但是老是中断,并且缺少的库更多。估计是因为开发版本过老的问题,找了客服也暂未解决。有遇到的朋友希望留言告知一下解决方案。