关于在Qt C++中飞天诚信Rockey5加密狗使用记录

需要引用的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的库,但是老是中断,并且缺少的库更多。估计是因为开发版本过老的问题,找了客服也暂未解决。有遇到的朋友希望留言告知一下解决方案。

发布了28 篇原创文章 · 获赞 4 · 访问量 7381

猜你喜欢

转载自blog.csdn.net/JuicyActiveGilbert/article/details/103784235