2026-10-04 00:04:20 +08:00
|
|
|
#if !defined(AFX_CHECKLOCK_H__FCD09AE5_AA28_42FA_9322_C5AADC9862C5__INCLUDED_)
|
2026-09-28 15:28:50 +08:00
|
|
|
#define AFX_CHECKLOCK_H__FCD09AE5_AA28_42FA_9322_C5AADC9862C5__INCLUDED_
|
|
|
|
|
|
|
|
|
|
#if _MSC_VER > 1000
|
|
|
|
|
#pragma once
|
|
|
|
|
#endif
|
|
|
|
|
|
2026-10-04 00:04:20 +08:00
|
|
|
//总大小 256
|
2026-09-28 15:28:50 +08:00
|
|
|
typedef struct ProductInfo
|
|
|
|
|
{
|
2026-10-04 00:04:20 +08:00
|
|
|
char szProName[11]; //产品名称 五个汉字 1
|
|
|
|
|
char szProCode[10]; //产品代号 2
|
|
|
|
|
DWORD dwVersion; //产品版本2012,2013 可组合. 3
|
|
|
|
|
char bLockType; //111 单机锁 121 网络锁 100 试用版 4
|
|
|
|
|
__int64 tTryDayStop; //试用截止时间 5
|
|
|
|
|
char szServer[17]; //服务端ip地址
|
|
|
|
|
int nPort[5]; //端口号,固定端口号 6
|
2026-09-28 15:28:50 +08:00
|
|
|
}PRODUCTINFO;
|
|
|
|
|
|
2026-10-04 00:04:20 +08:00
|
|
|
//总大小 256
|
2026-09-28 15:28:50 +08:00
|
|
|
typedef struct ProductInfoLock
|
|
|
|
|
{
|
2026-10-04 00:04:20 +08:00
|
|
|
char szProName[11]; //产品名称 五个汉字
|
|
|
|
|
char szProCode[10]; //产品代号
|
|
|
|
|
DWORD dwVersion; //产品版本2012,2013 可组合.
|
|
|
|
|
char szLockCode[14]; //锁编号base64,用户远程写锁
|
2026-09-28 15:28:50 +08:00
|
|
|
|
2026-10-04 00:04:20 +08:00
|
|
|
short nAccessCount; //访问点数
|
|
|
|
|
char bLockType; //111 单机锁 121 网络锁
|
|
|
|
|
char szDate[17]; //写锁时间 2012-12-20 12:30
|
|
|
|
|
char szVerify[41]; //整体数据的校验码sha1
|
|
|
|
|
char szReserve[128]; //预留
|
2026-09-28 15:28:50 +08:00
|
|
|
}PRODUCTINFOLOCK;
|
|
|
|
|
|
|
|
|
|
class CCheckLock
|
|
|
|
|
{
|
|
|
|
|
public:
|
|
|
|
|
CCheckLock();
|
|
|
|
|
virtual ~CCheckLock();
|
|
|
|
|
|
|
|
|
|
bool CheckLock();
|
|
|
|
|
|
|
|
|
|
void SendLogoutMessage();
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
|
|
|
|
|
bool CheckServerLock(ProductInfo* pProInfo);
|
|
|
|
|
|
|
|
|
|
bool CheckSingleLock(ProductInfo* pProInfo);
|
|
|
|
|
|
|
|
|
|
bool CheckTryversion(ProductInfo* pProInfo);
|
|
|
|
|
|
|
|
|
|
int ParaseText(CString& sText,TCHAR ch,CStringArray& arFields);
|
|
|
|
|
|
|
|
|
|
CTime FormatTime(CString& sDate);
|
|
|
|
|
|
|
|
|
|
bool SpecialUserPermission();
|
|
|
|
|
|
|
|
|
|
public:
|
|
|
|
|
SOCKET m_theSocket;
|
|
|
|
|
ProductInfo m_proInfo;
|
|
|
|
|
char m_szBuf[MAX_PATH];
|
|
|
|
|
bool m_bAutocadExit;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
#endif // !defined(AFX_CHECKLOCK_H__FCD09AE5_AA28_42FA_9322_C5AADC9862C5__INCLUDED_)
|