📄 csoftwarekey.h
字号:
#if !defined(C_SOFTWAREKEY_H)
#define C_SOFTWAREKEY_H
#include "windows.h"
#include "objbase.h"
#include <stdio.h>
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
#define MAC_DIM 6
#define MACHINE_CODE_DIM 6
#define SOFTWAREKEY_DIM 6
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
enum RETVALUE
{
SUCCESS,
ERROR_API_CALL_FAILED,
ERROR_FAILURE_WHILE_LOADING_LIBRARY,
ERROR_OS_VERSION_NOT_SUPPORTED,
ERROR_SOFTWAREKEY_NOT_FOUND,
ERROR_CONVERSION_CHAR_2_WCHAR_FAILED
};
// ---------------------------------------------------------------------------
// ---------------------------------------------------------------------------
class CSoftwareKey
{
public:
static RETVALUE RetrieveMACAddress(
BYTE pMACaddress[MAC_DIM]);
static RETVALUE ComputeMachineCode(
const BYTE pMACaddress[MAC_DIM],
BYTE pMachineCode[MACHINE_CODE_DIM]);
static RETVALUE ComputeSoftwareKey(
const BYTE pMachineCode[MACHINE_CODE_DIM],
BYTE pSoftwareKey[SOFTWAREKEY_DIM]);
static RETVALUE VerifySoftwareKey(
const char* pSoftwareKeyString,
bool* pIsValid);
static RETVALUE GetSoftwareKeyStringFromIniFile(
const char* pFilePath,
char** pSoftwareKeyString);
static RETVALUE Buffer2String(
const BYTE* pBuffer,
const unsigned int pBufferSize,
char** pString);
static RETVALUE String2Buffer(
const char* pString,
BYTE** pBuffer,
unsigned int* pBufferSize);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -