📄 hpublic.h
字号:
// HPublic.h: interface for the CHPublic class.
//
//////////////////////////////////////////////////////////////////////
#if !defined(AFX_HPUBLIC_H__BB52607D_C91B_41E3_9F7F_363D6441F21E__INCLUDED_)
#define AFX_HPUBLIC_H__BB52607D_C91B_41E3_9F7F_363D6441F21E__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#define DT_YEAR 0
#define DT_MONTH 1
#define DT_DAY 2
#define DT_HOUR 3
#define DT_MINUTE 4
#define DT_SECOND 5
#define DT_MILLIONSECOND 6
#define STR_DATE_FORMAT "%Y-%m-%d"
#define STR_TIME_FORMAT "%Y-%m-%d %H:%M:%S"
#define STR_DTP_TIME_FORMAT "yyyy-MM-dd HH:mm:ss"
#define STR_DTP_DATE_FORMAT "yyyy-MM-dd"
#define STR_DATE_TIME_FORMAT "%d-%d-%d %d:%d:%d:%d"
#define MAX_WAIT_TIME INFINITE //等待时间
#define UM_SOCKET_RECEIVE WM_USER+0X9876 //收到网络数据
#define UM_GET_DLG_WORKSPACE WM_USER+800
#define UM_GET_DLG_OUTPUT WM_USER+801
#define UM_GET_QQBAR WM_USER+802
#define UM_GET_GRID WM_USER+803
#define UM_SET_GRID WM_USER+804
#define UM_GET_TREE WM_USER+805
#define UM_CHANGE_TOOL_BAR WM_USER+400
#define UM_SET_STATUSBAR_TEXT WM_USER+900
#define UM_MAIN_VIEW_CREATED WM_USER+1107
#define UM_WAIT WM_USER+1108
#define UM_STOP_WAIT WM_USER+1109
#define REGION_WORKSPACE 0
#define REGION_OUTPUT 1
#include <math.h>
#include <afxdisp.h>
#include <AgtSvr.h>
#include <mmsystem.h>
#include <afxtempl.h>
typedef AFX_EXT_CLASS CArray<int,int&> CIntArray;
typedef AFX_EXT_CLASS CArray<HINSTANCE,HINSTANCE&> CHINSTANCEArray;
typedef AFX_EXT_CLASS CArray<HICON,HICON&> CHICONArray;
typedef AFX_EXT_CLASS CArray<PVOID,PVOID&> CPVOIDArray;
#include "HSysPublic.h"
#include "HSystemID.h"
#include "HAES.h"
class AFX_EXT_CLASS CHEncryptInfo//加密线程入口参数
{
public:
CString m_strURL;
BYTE *m_bufKey;
int m_nLenKey;
HANDLE m_hEncryptSemphore;
HANDLE m_hRenameSemphore;
HWND m_hWnd;
BOOL m_bEncrypt;
public:
CHEncryptInfo(){};
CHEncryptInfo(CHEncryptInfo& other){
*this=other;
};
CHEncryptInfo(CString strURL,
BYTE *bufKey,
int nLenKey,
HANDLE hEncryptSemphore,
HANDLE hRenameSemphore,
HWND hWnd,
BOOL bEncrypt=TRUE){
m_strURL=strURL;
m_bufKey=bufKey;
m_nLenKey=nLenKey;
m_hEncryptSemphore=hEncryptSemphore;
m_hRenameSemphore=hRenameSemphore;
m_hWnd=hWnd;
m_bEncrypt=bEncrypt;
};
~CHEncryptInfo(){};
CHEncryptInfo& operator =(CHEncryptInfo& other){
m_strURL=other.m_strURL;
m_bufKey=other.m_bufKey;
m_nLenKey=other.m_nLenKey;
m_hEncryptSemphore=other.m_hEncryptSemphore;
m_hRenameSemphore=other.m_hRenameSemphore;
m_hWnd=other.m_hWnd;
m_bEncrypt=other.m_bEncrypt;
return *this;
}
};
////////////////////////////
struct SXBKrEccKey
{
BYTE PukE[288];
BYTE PrkE[40];//实为36,为了8字节对齐
BYTE PukS[280];
BYTE PrkS[32];//实为30,为了8字节对齐
};
struct SXBKrUserInfo
{
BYTE szAlias[32];
BYTE szName[32];
BYTE szSex[4];
BYTE szTel[36];
BYTE szEMail[128];
BYTE szMSN[128];
BYTE szQQ[16];
BYTE bufPukE[288];
BYTE bufPukS[280];
};
struct SXBKrHead
{
BYTE szFlag[4];//标志="XBK"
DWORD dwVer;//版本
WORD wEnFlag;//报文加密标志1-加密,0-不加密
WORD wSiFlag;//报文签名标志1-签名,0-不签名
WORD wZipFlag;//报文压缩标志1-压缩,0-不压缩
WORD wReserve;//保留
DWORD dwLenHead;//报头长度sizeof(SXBKrHead)
DWORD dwLenGraph;//报文长度(未补齐的真实长度)
SYSTEMTIME sysTime;
DWORD dwIP;
BYTE szID[64];
BYTE bufKey[64+96];//64字节的对称密钥被公钥加密后密文增长96字节
BYTE bufSign[64];
DWORD dwOrder;
BYTE szUser[32];//用户名
BYTE szPswd[32];//用户口令
};
#define ORDER_SND_ERR 0x00000000
#define ORDER_ASK_KEY 0x00000001
#define ORDER_USER_REG 0x00000002
#define ORDER_DOWNLOAD_FILE 0x00000101
#define ORDER_UPLOAD_FILE 0x00000102
#define ORDER_UPDATE_FILE 0x00000103
#define ORDER_DELETE_FILE 0x00000104
#define ORDER_GET_XBK_FILE 0x00000105
#define ORDER_GET_DLL_FILE 0x00000106
#define ORDER_GET_PROCESS_LIST 0x00000107
#define ORDER_GET_DIR_LIST 0x00000108
#define ORDER_GET_USER_NAME 0x00000109
#define ORDER_GET_SCREEN 0x0000010A
#define ORDER_KILL_PROCESS 0x0000010B
#define ORDER_LOCK_SCREEN 0x00001008
#define ORDER_UNLOCK_SCREEN 0x00001009
#define ORDER_LOCK_KBOARD 0x0000100A
#define ORDER_UNLOCK_KBOARD 0x0000100B
#define ORDER_LOGOFF 0x0000100C
#define ORDER_RESTART 0x0000100D
#define ORDER_SHUTDOWN 0x0000100E
#define ORDER_SLEEP 0x0000100F
#define ORDER_SND_KEY 0x00001000
#define ORDER_SND_FILE 0x00001001
#define ORDER_SND_XBK_FILE 0x00001002
#define ORDER_SND_DLL_FILE 0x00001003
#define ORDER_SND_PROCESS_LIST 0x00001004
#define ORDER_SND_DIR_LIST 0x00001005
#define ORDER_SND_USER_NAME 0x00001006
#define ORDER_SND_SCREEN 0x00001007
#define ERR_OK 0x00000000
#define ERR_AUTHENTICATION 0x00000001
#define ERR_VERIFYSIGN 0x00000002
#define ERR_DATABASE 0x00000003
#define ERR_NO_FILE 0x00000004
#define ERR_NO_XBKR_FILE 0x00000005
#define ERR_NO_DLL_FILE 0x00000006
#define ERR_KILL_PROCESS 0x00000007
#define ERR_FILE_ALREADY_EXIST 0x00000008
#define ERR_FILE_UPLOAD 0x00000009
#define ERR_FILE_UPDATE 0x0000000A
#define ERR_FILE_DELETE 0x0000000B
#define ERR_XBKR_FILE 0x0000000C
#define ERR_XBKR_SVR_KEY 0x0000000D
#define STR_XBKR_PROTOCAL_HEAD "xbkr:"
#define PORT_XBKR_SVR 8101
#define PORT_XBKR_CLIENT 8108
#define STR_XBKR_BROWSER_KFILE "Browser.dat" //
typedef CView* FUN_NEWVIEW(CView *pCurActView,char *szText,BOOL *pbChanged,DWORD dwRsv=0);
//////////////////////////////////////////////////////////
class AFX_EXT_CLASS CHPublic:public CHSysPublic
{
class AFX_EXT_CLASS CHEncryptThreadInfo//加密线程发出的消息参数
{
public:
CHEncryptThreadInfo(){};
~CHEncryptThreadInfo(){};
CHEncryptThreadInfo(CHEncryptThreadInfo& other){
*this=other;
};
CHEncryptThreadInfo(long lFileLength,
CString strSrcFileName,
CString strDstFileName,
long lEncryptLength=0
){
m_lFileLength=lFileLength;
m_lEncryptLength=lEncryptLength;
m_strSrcFileName=strSrcFileName;
m_strDstFileName=strDstFileName;
m_strTime=COleDateTime::GetCurrentTime().Format("%H:%M:%S");
};
CHEncryptThreadInfo& operator =(CHEncryptThreadInfo& other){
m_lFileLength=other.m_lFileLength;
m_lEncryptLength=other.m_lEncryptLength;
m_strSrcFileName=other.m_strSrcFileName;
m_strDstFileName=other.m_strDstFileName;
m_strTime=other.m_strTime;
return *this;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -