Files
envi-code/SourceCode/Code2026/EarthWormMain/CheckLock.h
T

68 lines
1.6 KiB
C++
Raw Normal View History

2026-09-28 15:28:50 +08:00
#if !defined(AFX_CHECKLOCK_H__FCD09AE5_AA28_42FA_9322_C5AADC9862C5__INCLUDED_)
#define AFX_CHECKLOCK_H__FCD09AE5_AA28_42FA_9322_C5AADC9862C5__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif
#include <winsock.h>
//总大小 256
typedef struct ProductInfo
{
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
}PRODUCTINFO;
//总大小 256
typedef struct ProductInfoLock
{
char szProName[11]; //产品名称 五个汉字
char szProCode[10]; //产品代号
DWORD dwVersion; //产品版本2012,2013 可组合.
char szLockCode[11]; //锁编号base64,用户远程写锁
short nAccessCount; //访问点数
char bLockType; //111 单机锁 121 网络锁
char szDate[17]; //写锁时间 2012-12-20 12:30
char szVerify[41]; //整体数据的校验码sha1
char szReserve[128]; //预留
}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_PTR 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_)