新增U盘获取图语License功能

This commit is contained in:
2024-08-06 20:32:02 +08:00
parent f0b1152cad
commit 1f7bc017ca
27 changed files with 1325 additions and 481 deletions

View File

@@ -0,0 +1,68 @@
// LicenseGenerate.cpp
#include "LicenseGenerate.h"
#define PIX_HARDWARE_INFO_BYTES 32
#define PIX_LICENCE_BYTES 128
typedef const char* (*pix_license_generate_version_func)();
typedef int (*pix_license_generate_func)(const unsigned char*, int, unsigned char*, int);
void licenseGenerate()
{
unsigned char hardware_info[PIX_HARDWARE_INFO_BYTES] = { };
unsigned char license_info[PIX_LICENCE_BYTES] = { 0 };
// 获取当前路径
wchar_t currentPath[MAX_PATH];
GetCurrentDirectoryW(MAX_PATH, currentPath);
std::wcout << L"Current Directory: " << currentPath << std::endl;
// 打印 DLL 的完整路径
std::wstring dllPath = std::wstring(currentPath) + L"\\ThirdParty\\LicenseGenerate\\pix_license.dll";
std::wcout << L"DLL Path: " << dllPath << std::endl;
// 加载 DLL 文件
HINSTANCE hDLL = LoadLibraryW(dllPath.c_str());
if (hDLL == NULL) {
std::cerr << "Failed to load DLL. Error code: " << GetLastError() << std::endl;
FreeLibrary(hDLL);
return;
}
pix_license_generate_version_func pix_license_generate_version =
(pix_license_generate_version_func)GetProcAddress(hDLL, "pix_license_generate_version");
pix_license_generate_func pix_license_generate =
(pix_license_generate_func)GetProcAddress(hDLL, "pix_license_generate");
if (pix_license_generate_version == NULL || pix_license_generate == NULL) {
std::cerr << "Failed to find one or more functions." << std::endl;
FreeLibrary(hDLL);
return;
}
printf("pix_license_generate_version is %s\n",
pix_license_generate_version());
printf("Hardware info:");
for (int j = 0; j < PIX_HARDWARE_INFO_BYTES; ++j) {
hardware_info[j] = j;
printf("0x%02x, ", hardware_info[j]);
}
printf("\n");
// return 限制不调用 pix_license_generate, 防止减少license个数
return;
int ret = pix_license_generate(hardware_info, PIX_HARDWARE_INFO_BYTES,
license_info, PIX_LICENCE_BYTES);
if (ret != SDK_CODE_OK) {
printf("Fail to generate license with %d\n", ret);
}
else {
printf("License is\n");
for (int j = 0; j < PIX_LICENCE_BYTES; ++j) {
printf("0x%02x, ", license_info[j]);
}
printf("\n");
}
FreeLibrary(hDLL);
return;
}

View File

@@ -0,0 +1,15 @@
#ifndef LICENSEGENERATE_H
#define LICENSEGENERATE_H
#include <QWidget>
#include <QTcpServer>
#include <QJsonArray>
#include <windows.h>
#include <iostream>
#include <QDebug>
#include <stdio.h>
#include "p_code.h"
void licenseGenerate();
#endif

View File

@@ -0,0 +1,41 @@
#ifndef FACEKITASM_P_CODE_H
#define FACEKITASM_P_CODE_H
#define SDK_CODE_OK 0
#define SDK_CODE_INVALID_ARG -4
#define SDK_CODE_MODEL_NOT_INIT -44
#define SDK_CODE_REID_MODEL_NOT_INIT -550
#define SDK_CODE_INNER_ERROR -444
#define SDK_CODE_MODEL_NOT_FOUND -404
#define SDK_CODE_LICENCE_NOT_FOUND -405
#define SDK_CODE_INVALID_LICENCE -406
#define SDK_CODE_BROKEN_MODEL_FILE -407
#define SDK_CODE_MODEL_FILE_VERSION_MISMATCH -408
#define SDK_CODE_INVALID_LICENCE_STATUS -501
#define SDK_CODE_INVALID_HW_LICENCE_STATUS -505
#define SDK_CODE_INVALID_STATUS -600
#define SDK_CODE_DECODE_ERROR -1001
#define SDK_CODE_DETECT_ERROR -1002
#define SDK_CODE_SHIELDING -1010
#define SDK_CODE_MATCH_ERROR -2010
#define SDK_CODE_EXTRACT_POINT_ERROR -2011
#define SDK_CODE_FILE_NOT_EXIST -3010
#define SDK_CODE_SYS_TIME_ERROR -5001
#define SDK_CODE_IMAGE_NOT_EXIST -5002
#define SDK_CODE_IMAGE_DECODE_FAIL -5003
#define SDK_CODE_FLOOD_SPECKLE_IMAGE_SIZE_ERROR -5004
#define SDK_CODE_SPECKLE_IMAGE_TOO_LESS_POINT -5005
#define SDK_CODE_CALI_TOO_LESS_POINT_MATCH -5006
#define SDK_CODE_FAILED_TO_FIND_CHECKER -5007
#define SDK_CODE_REF_IMAGE_LOSS_POINT -5008
#define SDK_CODE_CALIBRATION_ERROR -5009
#define SDK_CODE_GET_DEPTH_ERROR -5010
#define SDK_CODE_NOT_IMPLEMENT -6868
#define SDK_CODE_AUTH_ERROR -8888
//#define TRIVAL_VERSION 1
#endif //FACEKITASM_P_CODE_HPP