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

📄 xkeyapi.h

📁 组态软件中
💻 H
字号:
/*
* Copyright (c) 林威汉, 2003
* All rights reserved.
* 
* 文件名称:XKeyAPI.h
* 文件标识:N/A

* 摘    要:通用加密锁模块XKey接口头文件
* 
* 当前版本:1.0
* 作    者:林威汉
* 完成日期:2003年7月10日
*
* 取代版本:N/A
* 原作者  :N/A
* 完成日期:N/A
*/

#ifndef __XKEYAPI_H__
#define __XKEYAPI_H__

#ifdef XKEY_EXPORTS
#define XKEY_API extern "C" AFX_EXT_API long WINAPI 
#else
#define XKEY_API extern "C" AFX_EXT_API long WINAPI 
#endif

const int	_KEYMAXMEMORYSIZE			= 1024;

//Key type
const int	_KEY_SOFTKEY2				= 0;
const int	_KEY_SENSE_KEYPRO			= 1;
const int	_KEY_TOTAL_AMOUNT			= 2;

//Product type
const int	_PRODUCT_PLERINE2_61		= 0;
const int	_PRODUCT_PSPACE3_0			= 1;

//License infomation type for pLerien2.61
const int	_CT_PLERINE2_61_GENERAL		= 0;//"Product Key Code","Product Release Date"
const int	_CT_PLERINE2_61_MAIN		= 1;//"Product ID","Version Type",
											//"Draw Tag Count","I/O Tag Count","History Tag Count",
											//"Db Clients Count","Web Clients Count","OEMSpecial"
const int	_CT_PLERINE2_61_EX			= 2;//"ODBCGate License","ODBCGate Real Data Count","ODBCGate History Data Count"
											//"DbCOM License","DbCOM Accessed Tag Count"
const int	_CT_PLERINE2_61_IO			= 3;//"..."
const int	_CT_PLERINE2_61_DATASERVER	= 4;//"..."
const int	_CT_PLERINE2_61_WIZARD		= 5;//"..."
const int	_CT_PLERINE2_61_LANGUAGE	= 6;//"Languages GB License","Languages TW License","Languages Eng License"

/* XKey License */
XKEY_API _XKey_SetKeyType(int nKeyType);
XKEY_API _XKey_CancelKeyTypeSetting();

XKEY_API _XKey_OffSoftKeyPassCheck();
XKEY_API _XKey_OnSoftKeyPassCheck();

XKEY_API _XKey_GetLicenseData(int nProduct, int nComponentType, CString csComponentName, char* pLicenseData);
XKEY_API _XKey_GetUserData(int nProduct, int nComponentType, CString csComponentName, char* pUserData);
XKEY_API _XKey_SetUserData(int nProduct, int nComponentType, CString csComponentName, char* pUserData);

XKEY_API _XKey_GetLicenseComponetList(int nProduct, int nComponentType, CStringList& csComponentList);

/* XKey Memory */
XKEY_API _XKey_GetKeyMemorySize(int nKeyType);
XKEY_API _XKey_GetKeyMemoryData(int nKeyType, char* pUserData, int nAddr, int nLength);
XKEY_API _XKey_SetKeyMemoryData(int nKeyType, int nAddr, char* pUserData, int nLength);

/* XKey Operation */
const int	_KEYSTATUS_NONE				= -1;
const int	_KEYSTATUS_BLANK			= 0;
const int	_KEYSTATUS_PRODUCT			= 1;

XKEY_API _XKey_GetKeyStatus(int nKeyType, int& nXKeyVersion, int& nProductType, BOOL& bVIP, 
													long& nVIPCode, CString csVIPReleaseDate);
XKEY_API _XKey_SetKeyPassword(int nKeyType);
XKEY_API _XKey_ResetKey(int nKeyType);

/* System */
XKEY_API _XKey_Initialize(CString& csPath);
XKEY_API _XKey_GetSetupPath(int nProduct, CString& pathString);

//+++++++++++加密所用函数和变量  谷永国++++++++++++++++++//

#define		VERSION_OLD   
//	宏 VERSION_OLD 说明:是否是老版本标志,如果该驱动在低于力控3.6版本使用,则定义该宏.
//						 如果该驱动在力控3.6或更高版本使用,这不要定义这个宏,此时把
//						 #define		VERSION_OLD  注释即可,即取消宏定义
						  
BOOL	gbLicensed = FALSE;
DWORD	gdwTickCount = GetTickCount();

/*	if (!Licensed()) 
	{
		return	SKIP;
	}*/
 

BOOL	Licensed()
{
#ifdef VERSION_OLD
	return	TRUE;
#endif
	DWORD	dwTemp = GetTickCount();

	//如果没有授权,则限制有效工作时间,1小时
	if (!gbLicensed) 
	{
		if (dwTemp - gdwTickCount >= 3600000) 
		{
			return	FALSE;
		}
		return	TRUE;
	}
	return	TRUE;
}

//		CheckLicensed(pManager->GetModuleName());
void	CheckLicensed(CString  csName)
{
	//在此处检测加密锁,
	CString		csPath;
	long		nReturnCode;

	_XKey_GetSetupPath(_PRODUCT_PLERINE2_61, csPath);

	if (_XKey_Initialize(csPath) == 0)
	{
		char	pKeyData[_KEYMAXMEMORYSIZE];
		memset(pKeyData, 0, _KEYMAXMEMORYSIZE);
		nReturnCode = _XKey_GetLicenseData(_PRODUCT_PLERINE2_61, _CT_PLERINE2_61_IO, csName, pKeyData);
	
		if (nReturnCode == 0)
		{
			BOOL bLicensed = pKeyData[0];
			gbLicensed = bLicensed;
		}
	}		
}
//+++++++++加密所用函数和变量结束++++++++++++++++//

#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -