Files

66 lines
1.7 KiB
C++
Raw Permalink Normal View History

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_)