⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 csoftwarekey.h

📁 通过key保护程序以增强程序的安全程度
💻 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 + -