Improve: Reduce master program redundant code

This commit is contained in:
yuanyuanxiang
2025-06-28 23:52:26 +08:00
parent 44f28defa2
commit c59232d179
39 changed files with 361 additions and 872 deletions

View File

@@ -107,6 +107,12 @@ BOOL CMy2015RemoteApp::InitInstance()
SetUnhandledExceptionFilter(&whenbuged); SetUnhandledExceptionFilter(&whenbuged);
SHFILEINFO sfi = {};
HIMAGELIST hImageList = (HIMAGELIST)SHGetFileInfo((LPCTSTR)_T(""), 0, &sfi, sizeof(SHFILEINFO), SHGFI_LARGEICON | SHGFI_SYSICONINDEX);
m_pImageList_Large.Attach(hImageList);
hImageList = (HIMAGELIST)SHGetFileInfo((LPCTSTR)_T(""), 0, &sfi, sizeof(SHFILEINFO), SHGFI_SMALLICON | SHGFI_SYSICONINDEX);
m_pImageList_Small.Attach(hImageList);
// <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Windows XP <20>ϵ<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD>嵥ָ<E5B5A5><D6B8>Ҫ // <20><><EFBFBD><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Windows XP <20>ϵ<EFBFBD>Ӧ<EFBFBD>ó<EFBFBD><C3B3><EFBFBD><EFBFBD>嵥ָ<E5B5A5><D6B8>Ҫ
// ʹ<><CAB9> ComCtl32.dll <20>汾 6 <20><><EFBFBD><EFBFBD><EFBFBD>߰汾<DFB0><E6B1BE><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF>ӻ<EFBFBD><D3BB><EFBFBD>ʽ<EFBFBD><CABD> // ʹ<><CAB9> ComCtl32.dll <20>汾 6 <20><><EFBFBD><EFBFBD><EFBFBD>߰汾<DFB0><E6B1BE><EFBFBD><EFBFBD><EFBFBD>ÿ<EFBFBD><C3BF>ӻ<EFBFBD><D3BB><EFBFBD>ʽ<EFBFBD><CABD>
//<2F><><EFBFBD><EFBFBD>Ҫ InitCommonControlsEx()<29><><EFBFBD><EFBFBD><EFBFBD>򣬽<EFBFBD><F2A3ACBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD> //<2F><><EFBFBD><EFBFBD>Ҫ InitCommonControlsEx()<29><><EFBFBD><EFBFBD><EFBFBD>򣬽<EFBFBD><F2A3ACBD>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD>

View File

@@ -23,6 +23,10 @@ public:
config *m_iniFile; config *m_iniFile;
HANDLE m_Mutex; HANDLE m_Mutex;
IOCPServer* m_iocpServer; IOCPServer* m_iocpServer;
CImageList m_pImageList_Large; //ϵͳ<CFB5><CDB3>ͼ<EFBFBD><CDBC>
CImageList m_pImageList_Small; //ϵͳСͼ<D0A1><CDBC>
// <20><>д // <20><>д
public: public:
virtual BOOL InitInstance(); virtual BOOL InitInstance();

Binary file not shown.

View File

@@ -1644,93 +1644,10 @@ VOID CALLBACK CMy2015RemoteDlg::NotifyProc(CONTEXT_OBJECT* ContextObject)
AUTO_TICK(50); AUTO_TICK(50);
switch (ContextObject->v1) if (ContextObject->v1) {
{ DialogBase* Dlg = (DialogBase*)ContextObject->hDlg;
case VIDEO_DLG:
{
CVideoDlg* Dlg = (CVideoDlg*)ContextObject->hDlg;
Dlg->OnReceiveComplete(); Dlg->OnReceiveComplete();
break; } else {
}
case SERVICES_DLG:
{
CServicesDlg* Dlg = (CServicesDlg*)ContextObject->hDlg;
Dlg->OnReceiveComplete();
break;
}
case AUDIO_DLG:
{
CAudioDlg* Dlg = (CAudioDlg*)ContextObject->hDlg;
Dlg->OnReceiveComplete();
break;
}
case SYSTEM_DLG:
{
CSystemDlg* Dlg = (CSystemDlg*)ContextObject->hDlg;
Dlg->OnReceiveComplete();
break;
}
case SHELL_DLG:
{
CShellDlg* Dlg = (CShellDlg*)ContextObject->hDlg;
Dlg->OnReceiveComplete();
break;
}
case SCREENSPY_DLG:
{
CScreenSpyDlg* Dlg = (CScreenSpyDlg*)ContextObject->hDlg;
Dlg->OnReceiveComplete();
break;
}
case FILEMANAGER_DLG:
{
CFileManagerDlg* Dlg = (CFileManagerDlg*)ContextObject->hDlg;
Dlg->OnReceiveComplete();
break;
}
case REGISTER_DLG:
{
CRegisterDlg* Dlg = (CRegisterDlg*)ContextObject->hDlg;
Dlg->OnReceiveComplete();
break;
}
case KEYBOARD_DLG:
{
CKeyBoardDlg* Dlg = (CKeyBoardDlg*)ContextObject->hDlg;
Dlg->OnReceiveComplete();
break;
}
case PROXY_DLG: {
CProxyMapDlg* Dlg = (CProxyMapDlg*)ContextObject->hDlg;
Dlg->OnReceiveComplete();
break;
}
case HIDESCREEN_DLG: {
CHideScreenSpyDlg* Dlg = (CHideScreenSpyDlg*)ContextObject->hDlg;
Dlg->OnReceiveComplete();
break;
}
case MACHINE_DLG: {
CMachineDlg* Dlg = (CMachineDlg*)ContextObject->hDlg;
Dlg->OnReceiveComplete();
break;
}
case CHAT_DLG: {
CChat* Dlg = (CChat*)ContextObject->hDlg;
Dlg->OnReceiveComplete();
break;
}
case DECRYPT_DLG: {
DecryptDlg* Dlg = (DecryptDlg*)ContextObject->hDlg;
Dlg->OnReceiveComplete();
break;
}
case FILEMGR_DLG: {
file::CFileManagerDlg* Dlg = (file::CFileManagerDlg*)ContextObject->hDlg;
Dlg->OnReceiveComplete();
break;
}
default: {
HANDLE hEvent = CreateEvent(NULL, TRUE, FALSE, NULL); HANDLE hEvent = CreateEvent(NULL, TRUE, FALSE, NULL);
if (hEvent == NULL) { if (hEvent == NULL) {
Mprintf("===> NotifyProc CreateEvent FAILED: %p <===\n", ContextObject); Mprintf("===> NotifyProc CreateEvent FAILED: %p <===\n", ContextObject);
@@ -1744,7 +1661,6 @@ VOID CALLBACK CMy2015RemoteDlg::NotifyProc(CONTEXT_OBJECT* ContextObject)
HANDLE handles[2] = { hEvent, g_2015RemoteDlg->m_hExit }; HANDLE handles[2] = { hEvent, g_2015RemoteDlg->m_hExit };
DWORD result = WaitForMultipleObjects(2, handles, FALSE, INFINITE); DWORD result = WaitForMultipleObjects(2, handles, FALSE, INFINITE);
} }
}
} }
// 对话框句柄及对话框类型 // 对话框句柄及对话框类型
@@ -2052,99 +1968,9 @@ LRESULT CMy2015RemoteDlg::OnUserOfflineMsg(WPARAM wParam, LPARAM lParam)
dlgInfo *p = (dlgInfo *)wParam; dlgInfo *p = (dlgInfo *)wParam;
if (p) if (p)
{ {
switch(p->v1) if (p->v1) {
{ CDialogBase* Dlg = (CDialogBase*)p->hDlg;
case TALK_DLG:
{
CTalkDlg *Dlg = (CTalkDlg*)p->hDlg;
delete Dlg;
break;
}
case VIDEO_DLG:
{
CVideoDlg *Dlg = (CVideoDlg*)p->hDlg;
delete Dlg;
break;
}
case SERVICES_DLG:
{
CServicesDlg *Dlg = (CServicesDlg*)p->hDlg;
delete Dlg;
break;
}
case AUDIO_DLG:
{
CAudioDlg *Dlg = (CAudioDlg*)p->hDlg;
delete Dlg;
break;
}
case SYSTEM_DLG:
{
CSystemDlg *Dlg = (CSystemDlg*)p->hDlg;
delete Dlg;
break;
}
case SHELL_DLG:
{
CShellDlg *Dlg = (CShellDlg*)p->hDlg;
delete Dlg;
break;
}
case SCREENSPY_DLG:
{
CScreenSpyDlg *Dlg = (CScreenSpyDlg*)p->hDlg;
delete Dlg;
break;
}
case FILEMANAGER_DLG:
{
CFileManagerDlg *Dlg = (CFileManagerDlg*)p->hDlg;
delete Dlg;
break;
}
case REGISTER_DLG:
{
CRegisterDlg *Dlg = (CRegisterDlg*)p->hDlg;
delete Dlg; //特殊处理
break;
}
case KEYBOARD_DLG:
{
CKeyBoardDlg* Dlg = (CKeyBoardDlg*)p->hDlg;
delete Dlg;
break;
}
case HIDESCREEN_DLG:
{
CHideScreenSpyDlg* Dlg = (CHideScreenSpyDlg*)p->hDlg;
delete Dlg;
break;
}
case MACHINE_DLG:
{
CMachineDlg* Dlg = (CMachineDlg*)p->hDlg;
delete Dlg;
break;
}
case CHAT_DLG:
{
CChat* Dlg = (CChat*)p->hDlg;
delete Dlg;
break;
}
case DECRYPT_DLG:
{
DecryptDlg* Dlg = (DecryptDlg*)p->hDlg;
delete Dlg;
break;
}
case FILEMGR_DLG:
{
file::CFileManagerDlg* Dlg = (file::CFileManagerDlg*)p->hDlg;
::PostMessageA(Dlg->GetSafeHwnd(), WM_CLOSE, 0, 0); ::PostMessageA(Dlg->GetSafeHwnd(), WM_CLOSE, 0, 0);
break;
}
default:break;
} }
delete p; delete p;
p = NULL; p = NULL;
@@ -2220,267 +2046,83 @@ VOID CMy2015RemoteDlg::SendServerDll(CONTEXT_OBJECT* ContextObject, bool isDLL,
LRESULT CMy2015RemoteDlg::OnOpenScreenSpyDialog(WPARAM wParam, LPARAM lParam) LRESULT CMy2015RemoteDlg::OnOpenScreenSpyDialog(WPARAM wParam, LPARAM lParam)
{ {
CONTEXT_OBJECT *ContextObject = (CONTEXT_OBJECT*)lParam; return OpenDialog<CScreenSpyDlg, IDD_DIALOG_SCREEN_SPY, SW_SHOWMAXIMIZED>(wParam, lParam);
CScreenSpyDlg *Dlg = new CScreenSpyDlg(this,m_iocpServer, ContextObject); //Send s
// 设置父窗口为卓面
Dlg->Create(IDD_DIALOG_SCREEN_SPY, GetDesktopWindow());
Dlg->ShowWindow(SW_SHOWMAXIMIZED);
ContextObject->v1 = SCREENSPY_DLG;
ContextObject->hDlg = Dlg;
return 0;
} }
LRESULT CMy2015RemoteDlg::OnOpenFileManagerDialog(WPARAM wParam, LPARAM lParam) LRESULT CMy2015RemoteDlg::OnOpenFileManagerDialog(WPARAM wParam, LPARAM lParam)
{ {
CONTEXT_OBJECT *ContextObject = (CONTEXT_OBJECT*)lParam; return OpenDialog<CFileManagerDlg, IDD_FILE>(wParam, lParam);
//转到CFileManagerDlg 构造函数
CFileManagerDlg *Dlg = new CFileManagerDlg(this,m_iocpServer, ContextObject);
// 设置父窗口为卓面
Dlg->Create(IDD_FILE, GetDesktopWindow()); //创建非阻塞的Dlg
Dlg->ShowWindow(SW_SHOW);
ContextObject->v1 = FILEMANAGER_DLG;
ContextObject->hDlg = Dlg;
EnterCriticalSection(&m_cs);
/*
for (std::vector<CFileManagerDlg *>::iterator iter = v_FileDlg.begin();
iter != v_FileDlg.end(); )
{
CFileManagerDlg *cur = *iter;
if (cur->m_bIsClosed)
{
delete cur;
iter = v_FileDlg.erase(iter);
}else{
++iter;
}
}
v_FileDlg.push_back(Dlg);
*/
LeaveCriticalSection(&m_cs);
return 0;
} }
LRESULT CMy2015RemoteDlg::OnOpenTalkDialog(WPARAM wParam, LPARAM lParam) LRESULT CMy2015RemoteDlg::OnOpenTalkDialog(WPARAM wParam, LPARAM lParam)
{ {
CONTEXT_OBJECT *ContextObject = (CONTEXT_OBJECT*)lParam; return OpenDialog<CTalkDlg, IDD_DIALOG_TALK>(wParam, lParam);
//转到CFileManagerDlg 构造函数
CTalkDlg *Dlg = new CTalkDlg(this,m_iocpServer, ContextObject);
// 设置父窗口为卓面
Dlg->Create(IDD_DIALOG_TALK, GetDesktopWindow()); //创建非阻塞的Dlg
Dlg->ShowWindow(SW_SHOW);
ContextObject->v1 = TALK_DLG;
ContextObject->hDlg = Dlg;
return 0;
} }
LRESULT CMy2015RemoteDlg::OnOpenShellDialog(WPARAM wParam, LPARAM lParam) LRESULT CMy2015RemoteDlg::OnOpenShellDialog(WPARAM wParam, LPARAM lParam)
{ {
CONTEXT_OBJECT *ContextObject = (CONTEXT_OBJECT*)lParam; return OpenDialog<CShellDlg, IDD_DIALOG_SHELL>(wParam, lParam);
//转到CFileManagerDlg 构造函数
CShellDlg *Dlg = new CShellDlg(this,m_iocpServer, ContextObject);
// 设置父窗口为卓面
Dlg->Create(IDD_DIALOG_SHELL, GetDesktopWindow()); //创建非阻塞的Dlg
Dlg->ShowWindow(SW_SHOW);
ContextObject->v1 = SHELL_DLG;
ContextObject->hDlg = Dlg;
return 0;
} }
LRESULT CMy2015RemoteDlg::OnOpenSystemDialog(WPARAM wParam, LPARAM lParam) LRESULT CMy2015RemoteDlg::OnOpenSystemDialog(WPARAM wParam, LPARAM lParam)
{ {
CONTEXT_OBJECT *ContextObject = (CONTEXT_OBJECT*)lParam; return OpenDialog<CSystemDlg, IDD_DIALOG_SYSTEM>(wParam, lParam);
//转到CFileManagerDlg 构造函数
CSystemDlg *Dlg = new CSystemDlg(this,m_iocpServer, ContextObject);
// 设置父窗口为卓面
Dlg->Create(IDD_DIALOG_SYSTEM, GetDesktopWindow()); //创建非阻塞的Dlg
Dlg->ShowWindow(SW_SHOW);
ContextObject->v1 = SYSTEM_DLG;
ContextObject->hDlg = Dlg;
return 0;
} }
LRESULT CMy2015RemoteDlg::OnOpenAudioDialog(WPARAM wParam, LPARAM lParam) LRESULT CMy2015RemoteDlg::OnOpenAudioDialog(WPARAM wParam, LPARAM lParam)
{ {
CONTEXT_OBJECT *ContextObject = (CONTEXT_OBJECT*)lParam; return OpenDialog<CAudioDlg, IDD_DIALOG_AUDIO>(wParam, lParam);
//转到CFileManagerDlg 构造函数
CAudioDlg *Dlg = new CAudioDlg(this,m_iocpServer, ContextObject);
// 设置父窗口为卓面
Dlg->Create(IDD_DIALOG_AUDIO, GetDesktopWindow()); //创建非阻塞的Dlg
Dlg->ShowWindow(SW_SHOW);
ContextObject->v1 = AUDIO_DLG;
ContextObject->hDlg = Dlg;
return 0;
} }
LRESULT CMy2015RemoteDlg::OnOpenServicesDialog(WPARAM wParam, LPARAM lParam) LRESULT CMy2015RemoteDlg::OnOpenServicesDialog(WPARAM wParam, LPARAM lParam)
{ {
CONTEXT_OBJECT *ContextObject = (CONTEXT_OBJECT*)lParam; return OpenDialog<CServicesDlg, IDD_DIALOG_SERVICES>(wParam, lParam);
//转到CFileManagerDlg 构造函数
CServicesDlg *Dlg = new CServicesDlg(this,m_iocpServer, ContextObject);
// 设置父窗口为卓面
Dlg->Create(IDD_DIALOG_SERVICES, GetDesktopWindow()); //创建非阻塞的Dlg
Dlg->ShowWindow(SW_SHOW);
ContextObject->v1 = SERVICES_DLG;
ContextObject->hDlg = Dlg;
return 0;
} }
LRESULT CMy2015RemoteDlg::OnOpenRegisterDialog(WPARAM wParam, LPARAM lParam) LRESULT CMy2015RemoteDlg::OnOpenRegisterDialog(WPARAM wParam, LPARAM lParam)
{ {
CONTEXT_OBJECT *ContextObject = (CONTEXT_OBJECT*)lParam; return OpenDialog<CRegisterDlg, IDD_DIALOG_REGISTER>(wParam, lParam);
//转到CFileManagerDlg 构造函数
CRegisterDlg *Dlg = new CRegisterDlg(this,m_iocpServer, ContextObject);
// 设置父窗口为卓面
Dlg->Create(IDD_DIALOG_REGISTER, GetDesktopWindow()); //创建非阻塞的Dlg
Dlg->ShowWindow(SW_SHOW);
ContextObject->v1 = REGISTER_DLG;
ContextObject->hDlg = Dlg;
return 0;
} }
LRESULT CMy2015RemoteDlg::OnOpenVideoDialog(WPARAM wParam, LPARAM lParam) LRESULT CMy2015RemoteDlg::OnOpenVideoDialog(WPARAM wParam, LPARAM lParam)
{ {
CONTEXT_OBJECT *ContextObject = (CONTEXT_OBJECT*)lParam; return OpenDialog<CVideoDlg, IDD_DIALOG_VIDEO>(wParam, lParam);
//转到CFileManagerDlg 构造函数
CVideoDlg *Dlg = new CVideoDlg(this,m_iocpServer, ContextObject);
// 设置父窗口为卓面
Dlg->Create(IDD_DIALOG_VIDEO, GetDesktopWindow()); //创建非阻塞的Dlg
Dlg->ShowWindow(SW_SHOW);
ContextObject->v1 = VIDEO_DLG;
ContextObject->hDlg = Dlg;
return 0;
} }
LRESULT CMy2015RemoteDlg::OnOpenKeyboardDialog(WPARAM wParam, LPARAM lParam) LRESULT CMy2015RemoteDlg::OnOpenKeyboardDialog(WPARAM wParam, LPARAM lParam)
{ {
CONTEXT_OBJECT* ContextObject = (CONTEXT_OBJECT*)lParam; return OpenDialog<CKeyBoardDlg, IDD_DLG_KEYBOARD>(wParam, lParam);
CKeyBoardDlg* Dlg = new CKeyBoardDlg(this, m_iocpServer, ContextObject);
// 设置父窗口为卓面
Dlg->Create(IDD_DLG_KEYBOARD, GetDesktopWindow()); //创建非阻塞的Dlg
Dlg->ShowWindow(SW_SHOW);
ContextObject->v1 = KEYBOARD_DLG;
ContextObject->hDlg = Dlg;
return 0;
} }
LRESULT CMy2015RemoteDlg::OnOpenProxyDialog(WPARAM wParam, LPARAM lParam) LRESULT CMy2015RemoteDlg::OnOpenProxyDialog(WPARAM wParam, LPARAM lParam)
{ {
CONTEXT_OBJECT* ContextObject = (CONTEXT_OBJECT*)lParam; return OpenDialog<CProxyMapDlg, IDD_PROXY>(wParam, lParam);
CProxyMapDlg* Dlg = new CProxyMapDlg(this, m_iocpServer, ContextObject);
Dlg->Create(IDD_PROXY, GetDesktopWindow());
Dlg->ShowWindow(SW_SHOW);
ContextObject->v1 = PROXY_DLG;
ContextObject->hDlg = Dlg;
return 0;
} }
LRESULT CMy2015RemoteDlg::OnOpenHideScreenDialog(WPARAM wParam, LPARAM lParam) LRESULT CMy2015RemoteDlg::OnOpenHideScreenDialog(WPARAM wParam, LPARAM lParam)
{ {
CONTEXT_OBJECT* ContextObject = (CONTEXT_OBJECT*)lParam; return OpenDialog<CHideScreenSpyDlg, IDD_SCREEN>(wParam, lParam);
CHideScreenSpyDlg* Dlg = new CHideScreenSpyDlg(this, m_iocpServer, ContextObject);
Dlg->Create(IDD_SCREEN, GetDesktopWindow());
Dlg->ShowWindow(SW_SHOW);
ContextObject->v1 = HIDESCREEN_DLG;
ContextObject->hDlg = Dlg;
return 0;
} }
LRESULT CMy2015RemoteDlg::OnOpenMachineManagerDialog(WPARAM wParam, LPARAM lParam) LRESULT CMy2015RemoteDlg::OnOpenMachineManagerDialog(WPARAM wParam, LPARAM lParam)
{ {
CONTEXT_OBJECT* ContextObject = (CONTEXT_OBJECT*)lParam; return OpenDialog<CMachineDlg, IDD_MACHINE>(wParam, lParam);
CMachineDlg* Dlg = new CMachineDlg(this, m_iocpServer, ContextObject);
Dlg->Create(IDD_MACHINE, GetDesktopWindow());
Dlg->ShowWindow(SW_SHOW);
ContextObject->v1 = MACHINE_DLG;
ContextObject->hDlg = Dlg;
return 0;
} }
LRESULT CMy2015RemoteDlg::OnOpenChatDialog(WPARAM wParam, LPARAM lParam) LRESULT CMy2015RemoteDlg::OnOpenChatDialog(WPARAM wParam, LPARAM lParam)
{ {
CONTEXT_OBJECT* ContextObject = (CONTEXT_OBJECT*)lParam; return OpenDialog<CChat, IDD_CHAT>(wParam, lParam);
CChat* Dlg = new CChat(this, m_iocpServer, ContextObject);
Dlg->Create(IDD_CHAT, GetDesktopWindow());
Dlg->ShowWindow(SW_SHOW);
ContextObject->v1 = CHAT_DLG;
ContextObject->hDlg = Dlg;
return 0;
} }
LRESULT CMy2015RemoteDlg::OnOpenDecryptDialog(WPARAM wParam, LPARAM lParam) LRESULT CMy2015RemoteDlg::OnOpenDecryptDialog(WPARAM wParam, LPARAM lParam)
{ {
CONTEXT_OBJECT* ContextObject = (CONTEXT_OBJECT*)lParam; return OpenDialog<DecryptDlg, IDD_DIALOG_DECRYPT>(wParam, lParam);
DecryptDlg* Dlg = new DecryptDlg(this, m_iocpServer, ContextObject);
Dlg->Create(IDD_DIALOG_DECRYPT, GetDesktopWindow());
Dlg->ShowWindow(SW_SHOW);
ContextObject->v1 = DECRYPT_DLG;
ContextObject->hDlg = Dlg;
return 0;
} }
LRESULT CMy2015RemoteDlg::OnOpenFileMgrDialog(WPARAM wParam, LPARAM lParam) LRESULT CMy2015RemoteDlg::OnOpenFileMgrDialog(WPARAM wParam, LPARAM lParam)
{ {
CONTEXT_OBJECT* ContextObject = (CONTEXT_OBJECT*)lParam; return OpenDialog<file::CFileManagerDlg, IDD_FILE_WINOS>(wParam, lParam);
file::CFileManagerDlg* Dlg = new file::CFileManagerDlg(this, m_iocpServer, ContextObject);
Dlg->Create(IDD_FILE_WINOS, GetDesktopWindow());
Dlg->ShowWindow(SW_SHOW);
ContextObject->v1 = FILEMGR_DLG;
ContextObject->hDlg = Dlg;
return 0;
} }
BOOL CMy2015RemoteDlg::OnHelpInfo(HELPINFO* pHelpInfo) BOOL CMy2015RemoteDlg::OnHelpInfo(HELPINFO* pHelpInfo)

View File

@@ -147,7 +147,18 @@ public:
void SortByColumn(int nColumn); void SortByColumn(int nColumn);
afx_msg VOID OnHdnItemclickList(NMHDR* pNMHDR, LRESULT* pResult); afx_msg VOID OnHdnItemclickList(NMHDR* pNMHDR, LRESULT* pResult);
static int CALLBACK CompareFunction(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort); static int CALLBACK CompareFunction(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort);
template<class T, int id, int Show=SW_SHOW> LRESULT OpenDialog(WPARAM wParam, LPARAM lParam)
{
CONTEXT_OBJECT* ContextObject = (CONTEXT_OBJECT*)lParam;
T* Dlg = new T(this, m_iocpServer, ContextObject);
Dlg->Create(id, GetDesktopWindow());
Dlg->ShowWindow(Show);
ContextObject->v1 = id;
ContextObject->hDlg = Dlg;
return 0;
}
VOID InitControl(); //<2F><>ʼ<EFBFBD>ؼ<EFBFBD> VOID InitControl(); //<2F><>ʼ<EFBFBD>ؼ<EFBFBD>
VOID TestOnline(); //<2F><><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD> VOID TestOnline(); //<2F><><EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD>
VOID AddList(CString strIP, CString strAddr, CString strPCName, CString strOS, CString strCPU, CString strVideo, CString strPing, VOID AddList(CString strIP, CString strAddr, CString strPCName, CString strOS, CString strCPU, CString strVideo, CString strPing,

View File

@@ -392,6 +392,13 @@
<Image Include="res\chat.ico" /> <Image Include="res\chat.ico" />
<Image Include="res\decrypt.ico" /> <Image Include="res\decrypt.ico" />
<Image Include="res\delete.bmp" /> <Image Include="res\delete.bmp" />
<Image Include="res\file\FILE.ico" />
<Image Include="res\file\Icon_A.ico" />
<Image Include="res\file\Icon_C.ico" />
<Image Include="res\file\Icon_D.ico" />
<Image Include="res\file\Icon_E.ico" />
<Image Include="res\file\Icon_F.ico" />
<Image Include="res\file\Icon_G.ico" />
<Image Include="res\icon2.ico" /> <Image Include="res\icon2.ico" />
<Image Include="res\keyboard.ico" /> <Image Include="res\keyboard.ico" />
<Image Include="res\machine.ico" /> <Image Include="res\machine.ico" />

View File

@@ -140,6 +140,13 @@
<Image Include="res\toolbar2.bmp" /> <Image Include="res\toolbar2.bmp" />
<Image Include="res\update.bmp" /> <Image Include="res\update.bmp" />
<Image Include="res\webcam.ico" /> <Image Include="res\webcam.ico" />
<Image Include="res\file\FILE.ico" />
<Image Include="res\file\Icon_A.ico" />
<Image Include="res\file\Icon_C.ico" />
<Image Include="res\file\Icon_D.ico" />
<Image Include="res\file\Icon_E.ico" />
<Image Include="res\file\Icon_F.ico" />
<Image Include="res\file\Icon_G.ico" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<None Include="..\..\Release\ghost.exe" /> <None Include="..\..\Release\ghost.exe" />

View File

@@ -12,22 +12,14 @@
IMPLEMENT_DYNAMIC(CAudioDlg, CDialog) IMPLEMENT_DYNAMIC(CAudioDlg, CDialog)
CAudioDlg::CAudioDlg(CWnd* pParent, IOCPServer* IOCPServer, CONTEXT_OBJECT *ContextObject) CAudioDlg::CAudioDlg(CWnd* pParent, IOCPServer* IOCPServer, CONTEXT_OBJECT *ContextObject)
: CDialog(CAudioDlg::IDD, pParent) : DialogBase(CAudioDlg::IDD, pParent, IOCPServer, ContextObject, IDI_ICON_AUDIO)
, m_bSend(FALSE) , m_bSend(FALSE)
{ {
m_hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON_AUDIO)); //<2F><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
m_bIsWorking = TRUE; m_bIsWorking = TRUE;
m_bThreadRun = FALSE; m_bThreadRun = FALSE;
m_iocpServer = IOCPServer; //Ϊ<><CEAA><EFBFBD>ij<EFBFBD>Ա<EFBFBD><D4B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ
m_ContextObject = ContextObject;
m_hWorkThread = NULL; m_hWorkThread = NULL;
m_nTotalRecvBytes = 0; m_nTotalRecvBytes = 0;
sockaddr_in ClientAddress;
memset(&ClientAddress, 0, sizeof(ClientAddress)); //<2F>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ض<EFBFBD>ip
int iClientAddressLen = sizeof(ClientAddress);
BOOL bResult = getpeername(m_ContextObject->sClientSocket,(SOCKADDR*)&ClientAddress, &iClientAddressLen);
m_strIPAddress = bResult != INVALID_SOCKET ? inet_ntoa(ClientAddress.sin_addr) : "";
} }
CAudioDlg::~CAudioDlg() CAudioDlg::~CAudioDlg()
@@ -60,7 +52,7 @@ BOOL CAudioDlg::OnInitDialog()
SetIcon(m_hIcon,FALSE); SetIcon(m_hIcon,FALSE);
CString strString; CString strString;
strString.Format("%s - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", m_strIPAddress); strString.Format("%s - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", m_IPAddress);
SetWindowText(strString); SetWindowText(strString);
BYTE bToken = COMMAND_NEXT; BYTE bToken = COMMAND_NEXT;
@@ -122,19 +114,11 @@ void CAudioDlg::OnReceiveComplete(void)
void CAudioDlg::OnClose() void CAudioDlg::OnClose()
{ {
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ CancelIO();
#if CLOSE_DELETE_DLG
m_ContextObject->v1 = 0;
#endif
CancelIo((HANDLE)m_ContextObject->sClientSocket);
closesocket(m_ContextObject->sClientSocket);
m_bIsWorking = FALSE; m_bIsWorking = FALSE;
WaitForSingleObject(m_hWorkThread, INFINITE); WaitForSingleObject(m_hWorkThread, INFINITE);
CDialog::OnClose(); DialogBase::OnClose();
#if CLOSE_DELETE_DLG
delete this;
#endif
} }
// <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6> // <20><><EFBFBD><EFBFBD><EFBFBD>Ƿ<EFBFBD><C7B7><EFBFBD><EFBFBD>ͱ<EFBFBD><CDB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6>

View File

@@ -5,17 +5,14 @@
// CAudioDlg <20>Ի<EFBFBD><D4BB><EFBFBD> // CAudioDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
class CAudioDlg : public CDialog class CAudioDlg : public DialogBase
{ {
DECLARE_DYNAMIC(CAudioDlg) DECLARE_DYNAMIC(CAudioDlg)
public: public:
CAudioDlg(CWnd* pParent = NULL, IOCPServer* IOCPServer = NULL, CONTEXT_OBJECT *ContextObject = NULL); // <20><>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><ECBAAF> CAudioDlg(CWnd* pParent = NULL, IOCPServer* IOCPServer = NULL, CONTEXT_OBJECT *ContextObject = NULL); // <20><>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><ECBAAF>
virtual ~CAudioDlg(); virtual ~CAudioDlg();
CONTEXT_OBJECT* m_ContextObject;
IOCPServer* m_iocpServer;
HICON m_hIcon;
CString m_strIPAddress;
DWORD m_nTotalRecvBytes; DWORD m_nTotalRecvBytes;
BOOL m_bIsWorking; BOOL m_bIsWorking;
BOOL m_bThreadRun; BOOL m_bThreadRun;

View File

@@ -14,12 +14,8 @@
CChat::CChat(CWnd* pParent, ISocketBase* pIOCPServer, ClientContext* pContext) CChat::CChat(CWnd* pParent, ISocketBase* pIOCPServer, ClientContext* pContext)
: DialogBase(CChat::IDD, pParent, pIOCPServer, pContext, 0) : DialogBase(CChat::IDD, pParent, pIOCPServer, pContext, IDI_CHAT)
{ {
m_hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_CHAT));
m_iocpServer = pIOCPServer;
m_pContext = pContext;
m_bOnClose = FALSE;
} }
@@ -51,13 +47,13 @@ BOOL CChat::OnInitDialog()
CDialog::OnInitDialog(); CDialog::OnInitDialog();
CString str; CString str;
str.Format(_T("Զ<EFBFBD>̽<EFBFBD≯ - %s"), m_pContext->PeerName.c_str()), str.Format(_T("Զ<EFBFBD>̽<EFBFBD≯ - %s"), m_ContextObject->PeerName.c_str()),
SetWindowText(str); SetWindowText(str);
m_editTip.SetWindowText(_T("<EFBFBD><EFBFBD>ʾ: <20>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>Żᵯ<C5BB><E1B5AF>")); m_editTip.SetWindowText(_T("<EFBFBD><EFBFBD>ʾ: <20>Է<EFBFBD><D4B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD>ڷ<EFBFBD><DAB7><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>Żᵯ<C5BB><E1B5AF>"));
m_editNewMsg.SetLimitText(4079); m_editNewMsg.SetLimitText(4079);
// TODO: Add extra initialization here // TODO: Add extra initialization here
BYTE bToken = COMMAND_NEXT_CHAT; BYTE bToken = COMMAND_NEXT_CHAT;
m_iocpServer->Send(m_pContext, &bToken, sizeof(BYTE)); m_iocpServer->Send(m_ContextObject, &bToken, sizeof(BYTE));
SetIcon(m_hIcon, TRUE); // Set big icon SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon SetIcon(m_hIcon, FALSE); // Set small icon
@@ -71,8 +67,8 @@ void CChat::OnReceive()
void CChat::OnReceiveComplete() void CChat::OnReceiveComplete()
{ {
m_pContext->m_DeCompressionBuffer.Write((LPBYTE)_T(""), 1); m_ContextObject->m_DeCompressionBuffer.Write((LPBYTE)_T(""), 1);
char* strResult = (char*)m_pContext->m_DeCompressionBuffer.GetBuffer(0); char* strResult = (char*)m_ContextObject->m_DeCompressionBuffer.GetBuffer(0);
SYSTEMTIME st; SYSTEMTIME st;
GetLocalTime(&st); GetLocalTime(&st);
char Text[5120] = { 0 }; char Text[5120] = { 0 };
@@ -93,7 +89,7 @@ void CChat::OnButtonSend()
return; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϢΪ<CFA2>ղ<EFBFBD><D5B2><EFBFBD><EFBFBD><EFBFBD> return; // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϢΪ<CFA2>ղ<EFBFBD><D5B2><EFBFBD><EFBFBD><EFBFBD>
} }
m_editTip.ShowWindow(SW_HIDE); m_editTip.ShowWindow(SW_HIDE);
m_iocpServer->Send(m_pContext, (LPBYTE)str, lstrlen(str) + sizeof(char)); m_iocpServer->Send(m_ContextObject, (LPBYTE)str, lstrlen(str) + sizeof(char));
SYSTEMTIME st; SYSTEMTIME st;
GetLocalTime(&st); GetLocalTime(&st);
char Text[5120] = { 0 }; char Text[5120] = { 0 };
@@ -114,7 +110,7 @@ void CChat::OnButtonEnd()
void CChat::OnClose() void CChat::OnClose()
{ {
m_ContextObject->CancelIO(); CancelIO();
CDialogBase::OnClose(); CDialogBase::OnClose();
} }
@@ -140,7 +136,7 @@ HBRUSH CChat::OnCtlColor(CDC* pDC, CWnd* pWnd, UINT nCtlColor)
void CChat::PostNcDestroy() void CChat::PostNcDestroy()
{ {
if (!m_bOnClose) if (!m_bIsClosed)
OnCancel(); OnCancel();
CDialog::PostNcDestroy(); CDialog::PostNcDestroy();
delete this; delete this;
@@ -170,11 +166,11 @@ void CChat::OnBnClickedButton_LOCK()
{ {
BYTE bToken = COMMAND_CHAT_SCREEN_LOCK; BYTE bToken = COMMAND_CHAT_SCREEN_LOCK;
m_iocpServer->Send(m_pContext, &bToken, sizeof(BYTE)); m_iocpServer->Send(m_ContextObject, &bToken, sizeof(BYTE));
} }
void CChat::OnBnClickedButton_UNLOCK() void CChat::OnBnClickedButton_UNLOCK()
{ {
BYTE bToken = COMMAND_CHAT_SCREEN_UNLOCK; BYTE bToken = COMMAND_CHAT_SCREEN_UNLOCK;
m_iocpServer->Send(m_pContext, &bToken, sizeof(BYTE)); m_iocpServer->Send(m_ContextObject, &bToken, sizeof(BYTE));
} }

View File

@@ -24,8 +24,6 @@ protected:
// Implementation // Implementation
protected: protected:
ClientContext* m_pContext;
ISocketBase* m_iocpServer;
virtual BOOL OnInitDialog(); virtual BOOL OnInitDialog();
afx_msg void OnButtonSend(); afx_msg void OnButtonSend();
@@ -36,9 +34,7 @@ protected:
afx_msg void OnKillfocusEditChatLog(); afx_msg void OnKillfocusEditChatLog();
DECLARE_MESSAGE_MAP() DECLARE_MESSAGE_MAP()
private:
HICON m_hIcon;
BOOL m_bOnClose;
public: public:
CEdit m_editTip; CEdit m_editTip;
CEdit m_editNewMsg; CEdit m_editNewMsg;

View File

@@ -60,7 +60,7 @@ VOID DecryptDlg::OnReceiveComplete() {
} }
void DecryptDlg::OnClose() { void DecryptDlg::OnClose() {
m_ContextObject->CancelIO(); CancelIO();
CDialogBase::OnClose(); CDialogBase::OnClose();
} }

View File

@@ -36,7 +36,7 @@ float GetScreenScalingFactor() {
} }
CFileManagerDlg::CFileManagerDlg(CWnd* pParent, CIOCPServer* pIOCPServer, ClientContext *pContext) CFileManagerDlg::CFileManagerDlg(CWnd* pParent, CIOCPServer* pIOCPServer, ClientContext *pContext)
: CDialog(CFileManagerDlg::IDD, pParent) : DialogBase(CFileManagerDlg::IDD, pParent, pIOCPServer, pContext, IDI_ICON_FATHER)
{ {
m_fScalingFactor = GetScreenScalingFactor(); m_fScalingFactor = GetScreenScalingFactor();
//{{AFX_DATA_INIT(CFileManagerDlg) //{{AFX_DATA_INIT(CFileManagerDlg)
@@ -52,7 +52,6 @@ CFileManagerDlg::CFileManagerDlg(CWnd* pParent, CIOCPServer* pIOCPServer, Client
sizeof(SHFILEINFO), sizeof(SHFILEINFO),
SHGFI_ICON | SHGFI_USEFILEATTRIBUTES SHGFI_ICON | SHGFI_USEFILEATTRIBUTES
); );
m_hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON_FATHER));
// <20><><EFBFBD><EFBFBD>ϵͳͼ<CDB3><CDBC><EFBFBD>б<EFBFBD> // <20><><EFBFBD><EFBFBD>ϵͳͼ<CDB3><CDBC><EFBFBD>б<EFBFBD>
static HIMAGELIST hImageList_Large = (HIMAGELIST)SHGetFileInfo static HIMAGELIST hImageList_Large = (HIMAGELIST)SHGetFileInfo
( (
@@ -77,21 +76,10 @@ CFileManagerDlg::CFileManagerDlg(CWnd* pParent, CIOCPServer* pIOCPServer, Client
static CImageList *pSmall = CImageList::FromHandle(hImageList_Small); static CImageList *pSmall = CImageList::FromHandle(hImageList_Small);
m_pImageList_Small = pSmall; m_pImageList_Small = pSmall;
// <20><>ʼ<EFBFBD><CABC>Ӧ<EFBFBD>ô<EFBFBD><C3B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD>СΪ0
m_iocpServer = pIOCPServer;
m_pContext = pContext;
sockaddr_in sockAddr;
memset(&sockAddr, 0, sizeof(sockAddr));
int nSockAddrLen = sizeof(sockAddr);
BOOL bResult = getpeername(m_pContext->m_Socket,(SOCKADDR*)&sockAddr, &nSockAddrLen);
m_IPAddress = bResult != INVALID_SOCKET ? inet_ntoa(sockAddr.sin_addr) : "";
// <20><><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD> // <20><><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
memset(m_bRemoteDriveList, 0, sizeof(m_bRemoteDriveList)); memset(m_bRemoteDriveList, 0, sizeof(m_bRemoteDriveList));
PBYTE pSrc = m_pContext->m_DeCompressionBuffer.GetBuffer(1); PBYTE pSrc = m_ContextObject->m_DeCompressionBuffer.GetBuffer(1);
int length = m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1; int length = m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - 1;
if (length > 0) if (length > 0)
memcpy(m_bRemoteDriveList, pSrc, length); memcpy(m_bRemoteDriveList, pSrc, length);
@@ -898,17 +886,9 @@ void CFileManagerDlg::OnClose()
// TODO: Add your message handler code here and/or call default // TODO: Add your message handler code here and/or call default
CoUninitialize(); CoUninitialize();
#if CLOSE_DELETE_DLG CancelIO();
m_pContext->v1 = 0;
#endif
closesocket(m_pContext->m_Socket); DialogBase::OnClose();
CDialog::OnClose();
m_bIsClosed = true;
#if CLOSE_DELETE_DLG
//delete this; //<2F>˴<EFBFBD><CBB4>ͷ<EFBFBD><CDB7>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ڵ<EFBFBD>2<EFBFBD>α<EFBFBD><CEB1><EFBFBD>
#endif
} }
CString CFileManagerDlg::GetParentDirectory(CString strPath) CString CFileManagerDlg::GetParentDirectory(CString strPath)
@@ -935,15 +915,15 @@ CString CFileManagerDlg::GetParentDirectory(CString strPath)
void CFileManagerDlg::OnReceiveComplete() void CFileManagerDlg::OnReceiveComplete()
{ {
switch (m_pContext->m_DeCompressionBuffer.GetBuffer(0)[0]) switch (m_ContextObject->m_DeCompressionBuffer.GetBuffer(0)[0])
{ {
case TOKEN_FILE_LIST: // <20>ļ<EFBFBD><C4BC>б<EFBFBD> case TOKEN_FILE_LIST: // <20>ļ<EFBFBD><C4BC>б<EFBFBD>
try try
{ {
FixedRemoteFileList FixedRemoteFileList
( (
m_pContext->m_DeCompressionBuffer.GetBuffer(0), m_ContextObject->m_DeCompressionBuffer.GetBuffer(0),
m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1 m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - 1
); );
} }
catch (CMemoryException* e) catch (CMemoryException* e)
@@ -1039,7 +1019,7 @@ void CFileManagerDlg::GetRemoteFileList(CString directory)
bPacket[0] = COMMAND_LIST_FILES; bPacket[0] = COMMAND_LIST_FILES;
memcpy(bPacket + 1, m_Remote_Path.GetBuffer(0), PacketSize - 1); memcpy(bPacket + 1, m_Remote_Path.GetBuffer(0), PacketSize - 1);
m_iocpServer->Send(m_pContext, bPacket, PacketSize); m_iocpServer->Send(m_ContextObject, bPacket, PacketSize);
LocalFree(bPacket); LocalFree(bPacket);
m_Remote_Directory_ComboBox.InsertString(0, m_Remote_Path); m_Remote_Directory_ComboBox.InsertString(0, m_Remote_Path);
@@ -1498,7 +1478,7 @@ BOOL CFileManagerDlg::SendDownloadJob()
bPacket[0] = COMMAND_DOWN_FILES; bPacket[0] = COMMAND_DOWN_FILES;
// <20>ļ<EFBFBD>ƫ<EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> // <20>ļ<EFBFBD>ƫ<EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
memcpy(bPacket + 1, file.GetBuffer(0), file.GetLength() + 1); memcpy(bPacket + 1, file.GetBuffer(0), file.GetLength() + 1);
m_iocpServer->Send(m_pContext, bPacket, nPacketSize); m_iocpServer->Send(m_ContextObject, bPacket, nPacketSize);
LocalFree(bPacket); LocalFree(bPacket);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>Լ<EFBFBD> // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>Լ<EFBFBD>
@@ -1555,7 +1535,7 @@ BOOL CFileManagerDlg::SendUploadJob()
memcpy(bPacket + 5, &dwSizeLow, sizeof(DWORD)); memcpy(bPacket + 5, &dwSizeLow, sizeof(DWORD));
memcpy(bPacket + 9, fileRemote.GetBuffer(0), fileRemote.GetLength() + 1); memcpy(bPacket + 9, fileRemote.GetBuffer(0), fileRemote.GetLength() + 1);
m_iocpServer->Send(m_pContext, bPacket, nPacketSize); m_iocpServer->Send(m_ContextObject, bPacket, nPacketSize);
LocalFree(bPacket); LocalFree(bPacket);
@@ -1586,7 +1566,7 @@ BOOL CFileManagerDlg::SendDeleteJob()
} }
// <20>ļ<EFBFBD>ƫ<EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> // <20>ļ<EFBFBD>ƫ<EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
memcpy(bPacket + 1, file.GetBuffer(0), nPacketSize - 1); memcpy(bPacket + 1, file.GetBuffer(0), nPacketSize - 1);
m_iocpServer->Send(m_pContext, bPacket, nPacketSize); m_iocpServer->Send(m_ContextObject, bPacket, nPacketSize);
LocalFree(bPacket); LocalFree(bPacket);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>Լ<EFBFBD> // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>Լ<EFBFBD>
@@ -1614,14 +1594,14 @@ void CFileManagerDlg::CreateLocalRecvFile()
strDestDirectory += m_hCopyDestFolder + "\\"; strDestDirectory += m_hCopyDestFolder + "\\";
} }
FILESIZE *pFileSize = (FILESIZE *)(m_pContext->m_DeCompressionBuffer.GetBuffer(1)); FILESIZE *pFileSize = (FILESIZE *)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
DWORD dwSizeHigh = pFileSize->dwSizeHigh; DWORD dwSizeHigh = pFileSize->dwSizeHigh;
DWORD dwSizeLow = pFileSize->dwSizeLow; DWORD dwSizeLow = pFileSize->dwSizeLow;
m_nOperatingFileLength = (dwSizeHigh * (MAXDWORD+long long(1))) + dwSizeLow; m_nOperatingFileLength = (dwSizeHigh * (MAXDWORD+long long(1))) + dwSizeLow;
// <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD> // <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
m_strOperatingFile = m_pContext->m_DeCompressionBuffer.GetBuffer(9); m_strOperatingFile = m_ContextObject->m_DeCompressionBuffer.GetBuffer(9);
m_strReceiveLocalFile = m_strOperatingFile; m_strReceiveLocalFile = m_strOperatingFile;
@@ -1766,7 +1746,7 @@ void CFileManagerDlg::CreateLocalRecvFile()
else else
{ {
// <20><><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>token,<2C><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB> // <20><><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>token,<2C><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>
m_iocpServer->Send(m_pContext, bToken, sizeof(bToken)); m_iocpServer->Send(m_ContextObject, bToken, sizeof(bToken));
} }
} }
@@ -1780,16 +1760,16 @@ void CFileManagerDlg::WriteLocalRecvFile()
int nHeadLength = 9; // 1 + 4 + 4 <20><><EFBFBD>ݰ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>С<EFBFBD><D0A1>Ϊ<EFBFBD>̶<EFBFBD><CCB6><EFBFBD>9 int nHeadLength = 9; // 1 + 4 + 4 <20><><EFBFBD>ݰ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>С<EFBFBD><D0A1>Ϊ<EFBFBD>̶<EFBFBD><CCB6><EFBFBD>9
FILESIZE *pFileSize; FILESIZE *pFileSize;
// <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ݵ<EFBFBD>ƫ<EFBFBD><C6AB> // <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ݵ<EFBFBD>ƫ<EFBFBD><C6AB>
pData = m_pContext->m_DeCompressionBuffer.GetBuffer(nHeadLength); pData = m_ContextObject->m_DeCompressionBuffer.GetBuffer(nHeadLength);
pFileSize = (FILESIZE *)m_pContext->m_DeCompressionBuffer.GetBuffer(1); pFileSize = (FILESIZE *)m_ContextObject->m_DeCompressionBuffer.GetBuffer(1);
// <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>е<EFBFBD>ƫ<EFBFBD><C6AB>, <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> // <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>е<EFBFBD>ƫ<EFBFBD><C6AB>, <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_nCounter = MAKEINT64(pFileSize->dwSizeLow, pFileSize->dwSizeHigh); m_nCounter = MAKEINT64(pFileSize->dwSizeLow, pFileSize->dwSizeHigh);
LONG dwOffsetHigh = pFileSize->dwSizeHigh; LONG dwOffsetHigh = pFileSize->dwSizeHigh;
LONG dwOffsetLow = pFileSize->dwSizeLow; LONG dwOffsetLow = pFileSize->dwSizeLow;
dwBytesToWrite = m_pContext->m_DeCompressionBuffer.GetBufferLen() - nHeadLength; dwBytesToWrite = m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - nHeadLength;
HANDLE hFile = HANDLE hFile =
CreateFile CreateFile
@@ -1839,7 +1819,7 @@ void CFileManagerDlg::WriteLocalRecvFile()
dwOffsetLow += dwBytesWrite; dwOffsetLow += dwBytesWrite;
memcpy(bToken + 1, &dwOffsetHigh, sizeof(dwOffsetHigh)); memcpy(bToken + 1, &dwOffsetHigh, sizeof(dwOffsetHigh));
memcpy(bToken + 5, &dwOffsetLow, sizeof(dwOffsetLow)); memcpy(bToken + 5, &dwOffsetLow, sizeof(dwOffsetLow));
m_iocpServer->Send(m_pContext, bToken, sizeof(bToken)); m_iocpServer->Send(m_ContextObject, bToken, sizeof(bToken));
} }
} }
@@ -1913,19 +1893,19 @@ void CFileManagerDlg::EndRemoteDeleteFile()
void CFileManagerDlg::SendException() void CFileManagerDlg::SendException()
{ {
BYTE bBuff = COMMAND_EXCEPTION; BYTE bBuff = COMMAND_EXCEPTION;
m_iocpServer->Send(m_pContext, &bBuff, 1); m_iocpServer->Send(m_ContextObject, &bBuff, 1);
} }
void CFileManagerDlg::SendContinue() void CFileManagerDlg::SendContinue()
{ {
BYTE bBuff = COMMAND_CONTINUE; BYTE bBuff = COMMAND_CONTINUE;
m_iocpServer->Send(m_pContext, &bBuff, 1); m_iocpServer->Send(m_ContextObject, &bBuff, 1);
} }
void CFileManagerDlg::SendStop() void CFileManagerDlg::SendStop()
{ {
BYTE bBuff = COMMAND_STOP; BYTE bBuff = COMMAND_STOP;
m_iocpServer->Send(m_pContext, &bBuff, 1); m_iocpServer->Send(m_ContextObject, &bBuff, 1);
} }
void CFileManagerDlg::ShowProgress() void CFileManagerDlg::ShowProgress()
@@ -2085,12 +2065,12 @@ void CFileManagerDlg::SendTransferMode()
BYTE bToken[5]; BYTE bToken[5];
bToken[0] = COMMAND_SET_TRANSFER_MODE; bToken[0] = COMMAND_SET_TRANSFER_MODE;
memcpy(bToken + 1, &m_nTransferMode, sizeof(m_nTransferMode)); memcpy(bToken + 1, &m_nTransferMode, sizeof(m_nTransferMode));
m_iocpServer->Send(m_pContext, (unsigned char *)&bToken, sizeof(bToken)); m_iocpServer->Send(m_ContextObject, (unsigned char *)&bToken, sizeof(bToken));
} }
void CFileManagerDlg::SendFileData() void CFileManagerDlg::SendFileData()
{ {
FILESIZE *pFileSize = (FILESIZE *)(m_pContext->m_DeCompressionBuffer.GetBuffer(1)); FILESIZE *pFileSize = (FILESIZE *)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
LONG dwOffsetHigh = pFileSize->dwSizeHigh ; LONG dwOffsetHigh = pFileSize->dwSizeHigh ;
LONG dwOffsetLow = pFileSize->dwSizeLow; LONG dwOffsetLow = pFileSize->dwSizeLow;
@@ -2130,7 +2110,7 @@ void CFileManagerDlg::SendFileData()
if (nNumberOfBytesRead > 0) if (nNumberOfBytesRead > 0)
{ {
int nPacketSize = nNumberOfBytesRead + nHeadLength; int nPacketSize = nNumberOfBytesRead + nHeadLength;
m_iocpServer->Send(m_pContext, lpBuffer, nPacketSize); m_iocpServer->Send(m_ContextObject, lpBuffer, nPacketSize);
} }
LocalFree(lpBuffer); LocalFree(lpBuffer);
} }
@@ -2209,7 +2189,7 @@ void CFileManagerDlg::OnRemoteNewfolder()
LPBYTE lpBuffer = (LPBYTE)LocalAlloc(LPTR, file.GetLength() + 2); LPBYTE lpBuffer = (LPBYTE)LocalAlloc(LPTR, file.GetLength() + 2);
lpBuffer[0] = COMMAND_CREATE_FOLDER; lpBuffer[0] = COMMAND_CREATE_FOLDER;
memcpy(lpBuffer + 1, file.GetBuffer(0), nPacketSize - 1); memcpy(lpBuffer + 1, file.GetBuffer(0), nPacketSize - 1);
m_iocpServer->Send(m_pContext, lpBuffer, nPacketSize); m_iocpServer->Send(m_ContextObject, lpBuffer, nPacketSize);
LocalFree(lpBuffer); LocalFree(lpBuffer);
} }
} }
@@ -2276,7 +2256,7 @@ void CFileManagerDlg::OnEndlabeleditListRemote(NMHDR* pNMHDR, LRESULT* pResult)
memcpy(lpBuffer + 1, strExistingFileName.GetBuffer(0), strExistingFileName.GetLength() + 1); memcpy(lpBuffer + 1, strExistingFileName.GetBuffer(0), strExistingFileName.GetLength() + 1);
memcpy(lpBuffer + 2 + strExistingFileName.GetLength(), memcpy(lpBuffer + 2 + strExistingFileName.GetLength(),
strNewFileName.GetBuffer(0), strNewFileName.GetLength() + 1); strNewFileName.GetBuffer(0), strNewFileName.GetLength() + 1);
m_iocpServer->Send(m_pContext, lpBuffer, nPacketSize); m_iocpServer->Send(m_ContextObject, lpBuffer, nPacketSize);
LocalFree(lpBuffer); LocalFree(lpBuffer);
} }
*pResult = 1; *pResult = 1;
@@ -2345,7 +2325,7 @@ void CFileManagerDlg::OnRemoteOpenShow()
LPBYTE lpPacket = (LPBYTE)LocalAlloc(LPTR, nPacketLength); LPBYTE lpPacket = (LPBYTE)LocalAlloc(LPTR, nPacketLength);
lpPacket[0] = COMMAND_OPEN_FILE_SHOW; lpPacket[0] = COMMAND_OPEN_FILE_SHOW;
memcpy(lpPacket + 1, str.GetBuffer(0), nPacketLength - 1); memcpy(lpPacket + 1, str.GetBuffer(0), nPacketLength - 1);
m_iocpServer->Send(m_pContext, lpPacket, nPacketLength); m_iocpServer->Send(m_ContextObject, lpPacket, nPacketLength);
LocalFree(lpPacket); LocalFree(lpPacket);
} }
@@ -2359,7 +2339,7 @@ void CFileManagerDlg::OnRemoteOpenHide()
LPBYTE lpPacket = (LPBYTE)LocalAlloc(LPTR, nPacketLength); LPBYTE lpPacket = (LPBYTE)LocalAlloc(LPTR, nPacketLength);
lpPacket[0] = COMMAND_OPEN_FILE_HIDE; lpPacket[0] = COMMAND_OPEN_FILE_HIDE;
memcpy(lpPacket + 1, str.GetBuffer(0), nPacketLength - 1); memcpy(lpPacket + 1, str.GetBuffer(0), nPacketLength - 1);
m_iocpServer->Send(m_pContext, lpPacket, nPacketLength); m_iocpServer->Send(m_ContextObject, lpPacket, nPacketLength);
LocalFree(lpPacket); LocalFree(lpPacket);
} }

View File

@@ -43,7 +43,7 @@ typedef struct
// CFileManagerDlg dialog // CFileManagerDlg dialog
typedef CList<CString, CString&> strList; typedef CList<CString, CString&> strList;
class CFileManagerDlg : public CDialog class CFileManagerDlg : public DialogBase
{ {
protected: protected:
// <20><><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>Ϣ // <20><><EFBFBD><EFBFBD>״̬<D7B4><CCAC><EFBFBD><EFBFBD>Ϣ
@@ -94,10 +94,6 @@ public:
int m_nNewIconBaseIndex; // <20>¼ӵ<C2BC>ICON int m_nNewIconBaseIndex; // <20>¼ӵ<C2BC>ICON
ClientContext* m_pContext;
CIOCPServer* m_iocpServer;
CString m_IPAddress;
CProgressCtrl* m_ProgressCtrl; CProgressCtrl* m_ProgressCtrl;
HCURSOR m_hCursor; HCURSOR m_hCursor;
CString m_Local_Path; CString m_Local_Path;
@@ -108,10 +104,9 @@ public:
void GetRemoteFileList(CString directory = ""); void GetRemoteFileList(CString directory = "");
void FixedRemoteFileList(BYTE *pbBuffer, DWORD dwBufferLen); void FixedRemoteFileList(BYTE *pbBuffer, DWORD dwBufferLen);
HICON m_hIcon;
CStatusBar m_wndStatusBar; CStatusBar m_wndStatusBar;
CFileManagerDlg(CWnd* pParent = NULL, CIOCPServer* pIOCPServer = NULL, ClientContext *pContext = NULL); // standard constructor CFileManagerDlg(CWnd* pParent = NULL, CIOCPServer* pIOCPServer = NULL, ClientContext *pContext = NULL); // standard constructor
bool m_bIsClosed;
~CFileManagerDlg() ~CFileManagerDlg()
{ {
if(m_ProgressCtrl) delete m_ProgressCtrl; if(m_ProgressCtrl) delete m_ProgressCtrl;

View File

@@ -38,15 +38,12 @@ enum {
IMPLEMENT_DYNAMIC(CHideScreenSpyDlg, CDialog) IMPLEMENT_DYNAMIC(CHideScreenSpyDlg, CDialog)
CHideScreenSpyDlg::CHideScreenSpyDlg(CWnd* pParent, ISocketBase* pIOCPServer, ClientContext* pContext) CHideScreenSpyDlg::CHideScreenSpyDlg(CWnd* pParent, ISocketBase* pIOCPServer, ClientContext* pContext)
: DialogBase(CHideScreenSpyDlg::IDD, pParent, pIOCPServer, pContext, 0) : DialogBase(CHideScreenSpyDlg::IDD, pParent, pIOCPServer, pContext, IDI_SCREENSYP)
{ {
m_iocpServer = pIOCPServer;
m_ContextObject = pContext;
m_bIsFirst = true; // 如果是第一次打开对话框,显示提示等待信息 m_bIsFirst = true; // 如果是第一次打开对话框,显示提示等待信息
m_BitmapData_Full = NULL; m_BitmapData_Full = NULL;
m_lpvRectBits = NULL; m_lpvRectBits = NULL;
m_hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_SCREENSYP));
m_IPAddress = m_ContextObject->GetPeerName().c_str();
UINT nBISize = m_ContextObject->GetBufferLength() - 1; UINT nBISize = m_ContextObject->GetBufferLength() - 1;
m_BitmapInfor_Full = (BITMAPINFO*) new BYTE[nBISize]; m_BitmapInfor_Full = (BITMAPINFO*) new BYTE[nBISize];
m_lpbmi_rect = (BITMAPINFO*) new BYTE[nBISize]; m_lpbmi_rect = (BITMAPINFO*) new BYTE[nBISize];
@@ -97,7 +94,7 @@ END_MESSAGE_MAP()
// CHideScreenSpyDlg message handlers // CHideScreenSpyDlg message handlers
void CHideScreenSpyDlg::OnClose() void CHideScreenSpyDlg::OnClose()
{ {
m_ContextObject->CancelIO(); CancelIO();
CDialogBase::OnClose(); CDialogBase::OnClose();
} }

View File

@@ -512,15 +512,27 @@ public:
m_IPAddress = bResult != INVALID_SOCKET ? inet_ntoa(sockAddr.sin_addr) : ""; m_IPAddress = bResult != INVALID_SOCKET ? inet_ntoa(sockAddr.sin_addr) : "";
m_hIcon = nIcon > 0 ? LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(nIcon)) : NULL; m_hIcon = nIcon > 0 ? LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(nIcon)) : NULL;
} }
virtual ~CDialogBase(){}
public: public:
virtual void OnReceiveComplete(void) = 0; virtual void OnReceiveComplete(void) = 0;
void OnClose() { void OnClose() {
m_bIsClosed = TRUE;
if(m_hIcon) DestroyIcon(m_hIcon);
m_hIcon = NULL;
CDialog::OnClose(); CDialog::OnClose();
m_bIsClosed = true;
#if CLOSE_DELETE_DLG if (GetSafeHwnd())
DestroyWindow();
}
virtual void PostNcDestroy() override
{
delete this; delete this;
#endif }
void CancelIO(){
m_bIsClosed = TRUE;
m_ContextObject->CancelIO();
} }
}; };

View File

@@ -20,22 +20,9 @@ static char THIS_FILE[] = __FILE__;
CKeyBoardDlg::CKeyBoardDlg(CWnd* pParent, CIOCPServer* pIOCPServer, ClientContext *pContext) CKeyBoardDlg::CKeyBoardDlg(CWnd* pParent, CIOCPServer* pIOCPServer, ClientContext *pContext)
: CDialog(CKeyBoardDlg::IDD, pParent) : DialogBase(CKeyBoardDlg::IDD, pParent, pIOCPServer, pContext, IDI_KEYBOARD)
{ {
//{{AFX_DATA_INIT(CKeyBoardDlg) m_bIsOfflineRecord = (BYTE)m_ContextObject->m_DeCompressionBuffer.GetBuffer(0)[1];
// NOTE: the ClassWizard will add member initialization here
//}}AFX_DATA_INIT
m_iocpServer = pIOCPServer;
m_pContext = pContext;
m_hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_KEYBOARD));
sockaddr_in sockAddr;
memset(&sockAddr, 0, sizeof(sockAddr));
int nSockAddrLen = sizeof(sockAddr);
BOOL bResult = getpeername(m_pContext->m_Socket, (SOCKADDR*)&sockAddr, &nSockAddrLen);
m_IPAddress = bResult != INVALID_SOCKET ? inet_ntoa(sockAddr.sin_addr) : "";
m_bIsOfflineRecord = (BYTE)m_pContext->m_DeCompressionBuffer.GetBuffer(0)[1];
} }
@@ -91,7 +78,7 @@ BOOL CKeyBoardDlg::OnInitDialog()
// ֪ͨԶ<D6AA>̿<EFBFBD><CCBF>ƶ˶Ի<CBB6><D4BB><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD> // ֪ͨԶ<D6AA>̿<EFBFBD><CCBF>ƶ˶Ի<CBB6><D4BB><EFBFBD><EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD>
BYTE bToken = COMMAND_NEXT; BYTE bToken = COMMAND_NEXT;
m_iocpServer->Send(m_pContext, &bToken, sizeof(BYTE)); m_iocpServer->Send(m_ContextObject, &bToken, sizeof(BYTE));
return TRUE; // return TRUE unless you set the focus to a control return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE // EXCEPTION: OCX Property Pages should return FALSE
@@ -111,7 +98,7 @@ void CKeyBoardDlg::UpdateTitle()
void CKeyBoardDlg::OnReceiveComplete() void CKeyBoardDlg::OnReceiveComplete()
{ {
switch (m_pContext->m_DeCompressionBuffer.GetBuffer(0)[0]) { switch (m_ContextObject->m_DeCompressionBuffer.GetBuffer(0)[0]) {
case TOKEN_KEYBOARD_DATA: case TOKEN_KEYBOARD_DATA:
AddKeyBoardData(); AddKeyBoardData();
break; break;
@@ -123,10 +110,10 @@ void CKeyBoardDlg::OnReceiveComplete()
void CKeyBoardDlg::AddKeyBoardData() void CKeyBoardDlg::AddKeyBoardData()
{ {
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0 // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>0
m_pContext->m_DeCompressionBuffer.Write((LPBYTE)"", 1); m_ContextObject->m_DeCompressionBuffer.Write((LPBYTE)"", 1);
int len = m_edit.GetWindowTextLength(); int len = m_edit.GetWindowTextLength();
m_edit.SetSel(len, len); m_edit.SetSel(len, len);
m_edit.ReplaceSel((TCHAR *)m_pContext->m_DeCompressionBuffer.GetBuffer(1)); m_edit.ReplaceSel((TCHAR *)m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
} }
bool CKeyBoardDlg::SaveRecord() bool CKeyBoardDlg::SaveRecord()
@@ -157,7 +144,7 @@ void CKeyBoardDlg::OnSysCommand(UINT nID, LPARAM lParam)
if (pSysMenu != NULL) { if (pSysMenu != NULL) {
m_bIsOfflineRecord = !m_bIsOfflineRecord; m_bIsOfflineRecord = !m_bIsOfflineRecord;
BYTE bToken[] = { COMMAND_KEYBOARD_OFFLINE, m_bIsOfflineRecord }; BYTE bToken[] = { COMMAND_KEYBOARD_OFFLINE, m_bIsOfflineRecord };
m_iocpServer->Send(m_pContext, bToken, sizeof(bToken)); m_iocpServer->Send(m_ContextObject, bToken, sizeof(bToken));
if (m_bIsOfflineRecord) if (m_bIsOfflineRecord)
pSysMenu->CheckMenuItem(IDM_ENABLE_OFFLINE, MF_CHECKED); pSysMenu->CheckMenuItem(IDM_ENABLE_OFFLINE, MF_CHECKED);
else else
@@ -167,7 +154,7 @@ void CKeyBoardDlg::OnSysCommand(UINT nID, LPARAM lParam)
} else if (nID == IDM_CLEAR_RECORD) { } else if (nID == IDM_CLEAR_RECORD) {
BYTE bToken = COMMAND_KEYBOARD_CLEAR; BYTE bToken = COMMAND_KEYBOARD_CLEAR;
m_iocpServer->Send(m_pContext, &bToken, 1); m_iocpServer->Send(m_ContextObject, &bToken, 1);
m_edit.SetWindowText(""); m_edit.SetWindowText("");
} else if (nID == IDM_SAVE_RECORD) { } else if (nID == IDM_SAVE_RECORD) {
SaveRecord(); SaveRecord();
@@ -208,8 +195,7 @@ BOOL CKeyBoardDlg::PreTranslateMessage(MSG* pMsg)
void CKeyBoardDlg::OnClose() void CKeyBoardDlg::OnClose()
{ {
// TODO: Add your message handler code here and/or call default CancelIO();
closesocket(m_pContext->m_Socket);
CDialog::OnClose(); DialogBase::OnClose();
} }

View File

@@ -13,7 +13,7 @@
///////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////
// CKeyBoardDlg dialog // CKeyBoardDlg dialog
class CKeyBoardDlg : public CDialog class CKeyBoardDlg : public DialogBase
{ {
// Construction // Construction
public: public:
@@ -38,12 +38,8 @@ protected:
// Implementation // Implementation
protected: protected:
ClientContext* m_pContext;
CIOCPServer* m_iocpServer;
HICON m_hIcon;
bool m_bIsOfflineRecord; bool m_bIsOfflineRecord;
CString m_IPAddress;
void AddKeyBoardData(); void AddKeyBoardData();
void UpdateTitle(); void UpdateTitle();
void ResizeEdit(); void ResizeEdit();

View File

@@ -27,12 +27,10 @@ IMPLEMENT_DYNAMIC(CRegisterDlg, CDialog)
CRegisterDlg::CRegisterDlg(CWnd* pParent,IOCPServer* IOCPServer, CONTEXT_OBJECT* ContextObject) CRegisterDlg::CRegisterDlg(CWnd* pParent,IOCPServer* IOCPServer, CONTEXT_OBJECT* ContextObject)
: CDialog(CRegisterDlg::IDD, pParent) : DialogBase(CRegisterDlg::IDD, pParent, IOCPServer, ContextObject, IDI_ICON_STRING)
{ {
m_bIsClosed = FALSE; m_bIsClosed = FALSE;
m_bIsWorking = FALSE; m_bIsWorking = FALSE;
m_iocpServer = IOCPServer;
m_ContextObject = ContextObject;
} }
CRegisterDlg::~CRegisterDlg() CRegisterDlg::~CRegisterDlg()
@@ -60,23 +58,20 @@ END_MESSAGE_MAP()
BOOL CRegisterDlg::OnInitDialog() BOOL CRegisterDlg::OnInitDialog()
{ {
CDialog::OnInitDialog(); CDialog::OnInitDialog();
SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon, FALSE);
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC> // TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>Ӷ<EFBFBD><D3B6><EFBFBD><EFBFBD>ij<EFBFBD>ʼ<EFBFBD><CABC>
CString str; CString str;
sockaddr_in ClientAddr; str.Format("%s - ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", m_IPAddress);
memset(&ClientAddr, 0, sizeof(ClientAddr));
int ClientAddrLen = sizeof(ClientAddr);
BOOL bResult = getpeername(m_ContextObject->sClientSocket, (SOCKADDR*)&ClientAddr, &ClientAddrLen);
str.Format("%s - ע<><D7A2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", bResult != INVALID_SOCKET ? inet_ntoa(ClientAddr.sin_addr) : "");
SetWindowText(str); SetWindowText(str);
m_ImageListTree.Create(18, 18, ILC_COLOR16,10, 0); //<2F><><EFBFBD><EFBFBD> <20><><EFBFBD>ؼ<EFBFBD><D8BC>ϵ<EFBFBD>ͼ<EFBFBD><CDBC> m_ImageListTree.Create(18, 18, ILC_COLOR16,10, 0); //<2F><><EFBFBD><EFBFBD> <20><><EFBFBD>ؼ<EFBFBD><D8BC>ϵ<EFBFBD>ͼ<EFBFBD><CDBC>
m_hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON_FATHER), IMAGE_ICON, 18, 18, 0); auto hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON_FATHER), IMAGE_ICON, 18, 18, 0);
m_ImageListTree.Add(m_hIcon); m_ImageListTree.Add(hIcon);
m_hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON_DIR), IMAGE_ICON, 18, 18, 0); hIcon = (HICON)::LoadImage(::AfxGetInstanceHandle(),MAKEINTRESOURCE(IDI_ICON_DIR), IMAGE_ICON, 18, 18, 0);
m_ImageListTree.Add(m_hIcon); m_ImageListTree.Add(hIcon);
m_Tree.SetImageList(&m_ImageListTree,TVSIL_NORMAL); m_Tree.SetImageList(&m_ImageListTree,TVSIL_NORMAL);
@@ -107,16 +102,9 @@ BOOL CRegisterDlg::OnInitDialog()
void CRegisterDlg::OnClose() void CRegisterDlg::OnClose()
{ {
#if CLOSE_DELETE_DLG CancelIO();
m_ContextObject->v1 = 0;
#endif DialogBase::OnClose();
CancelIo((HANDLE)m_ContextObject->sClientSocket);
closesocket(m_ContextObject->sClientSocket);
CDialog::OnClose();
m_bIsClosed = TRUE;
#if CLOSE_DELETE_DLG
//delete this;//<2F>˴<EFBFBD>ͬ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
#endif
} }

View File

@@ -5,15 +5,14 @@
// CRegisterDlg <20>Ի<EFBFBD><D4BB><EFBFBD> // CRegisterDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
class CRegisterDlg : public CDialog class CRegisterDlg : public DialogBase
{ {
DECLARE_DYNAMIC(CRegisterDlg) DECLARE_DYNAMIC(CRegisterDlg)
public: public:
CRegisterDlg(CWnd* Parent, IOCPServer* IOCPServer=NULL, CONTEXT_OBJECT *ContextObject=NULL); // <20><>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><ECBAAF> CRegisterDlg(CWnd* Parent, IOCPServer* IOCPServer=NULL, CONTEXT_OBJECT *ContextObject=NULL); // <20><>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><ECBAAF>
virtual ~CRegisterDlg(); virtual ~CRegisterDlg();
CONTEXT_OBJECT* m_ContextObject;
IOCPServer* m_iocpServer;
// <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> // <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
enum { IDD = IDD_DIALOG_REGISTER }; enum { IDD = IDD_DIALOG_REGISTER };
@@ -22,13 +21,12 @@ protected:
DECLARE_MESSAGE_MAP() DECLARE_MESSAGE_MAP()
public: public:
BOOL m_bIsClosed; // <20><><EFBFBD><EFBFBD><EFBFBD>ر<EFBFBD>
BOOL m_bIsWorking;// <20><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD> BOOL m_bIsWorking;// <20><><EFBFBD>ڴ<EFBFBD><DAB4><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD>
CTreeCtrl m_Tree; CTreeCtrl m_Tree;
CImageList m_ImageListTree; //<2F><><EFBFBD>ؼ<EFBFBD><D8BC>ϵ<EFBFBD>ͼ<EFBFBD><CDBC> CImageList m_ImageListTree; //<2F><><EFBFBD>ؼ<EFBFBD><D8BC>ϵ<EFBFBD>ͼ<EFBFBD><CDBC>
CListCtrl m_ControlList; CListCtrl m_ControlList;
CImageList m_ImageListControlList; //ControlList<73>ϵ<EFBFBD>ͼ<EFBFBD><CDBC> CImageList m_ImageListControlList; //ControlList<73>ϵ<EFBFBD>ͼ<EFBFBD><CDBC>
HICON m_hIcon;
virtual BOOL OnInitDialog(); virtual BOOL OnInitDialog();
afx_msg void OnClose(); afx_msg void OnClose();
HTREEITEM m_hRoot; HTREEITEM m_hRoot;

View File

@@ -32,7 +32,7 @@ extern "C" void* x265_api_get_192() { return nullptr; }
extern "C" char* __imp_strtok(char* str, const char* delim) { return strtok(str, delim); } extern "C" char* __imp_strtok(char* str, const char* delim) { return strtok(str, delim); }
CScreenSpyDlg::CScreenSpyDlg(CWnd* Parent, IOCPServer* IOCPServer, CONTEXT_OBJECT* ContextObject) CScreenSpyDlg::CScreenSpyDlg(CWnd* Parent, IOCPServer* IOCPServer, CONTEXT_OBJECT* ContextObject)
: CDialog(CScreenSpyDlg::IDD, Parent) : DialogBase(CScreenSpyDlg::IDD, Parent, IOCPServer, ContextObject, 0)
{ {
m_pCodec = nullptr; m_pCodec = nullptr;
m_pCodecContext = nullptr; m_pCodecContext = nullptr;
@@ -52,22 +52,12 @@ CScreenSpyDlg::CScreenSpyDlg(CWnd* Parent, IOCPServer* IOCPServer, CONTEXT_OBJEC
ImmDisableIME(0);// 禁用输入法 ImmDisableIME(0);// 禁用输入法
m_bFullScreen = FALSE; m_bFullScreen = FALSE;
m_iocpServer = IOCPServer;
m_ContextObject = ContextObject;
CHAR szFullPath[MAX_PATH]; CHAR szFullPath[MAX_PATH];
GetSystemDirectory(szFullPath, MAX_PATH); GetSystemDirectory(szFullPath, MAX_PATH);
lstrcat(szFullPath, "\\shell32.dll"); //图标 lstrcat(szFullPath, "\\shell32.dll"); //图标
m_hIcon = ExtractIcon(THIS_APP->m_hInstance, szFullPath, 17); m_hIcon = ExtractIcon(THIS_APP->m_hInstance, szFullPath, 17);
m_hCursor = LoadCursor(THIS_APP->m_hInstance, MAKEINTRESOURCE(IDC_ARROWS)); m_hCursor = LoadCursor(THIS_APP->m_hInstance, MAKEINTRESOURCE(IDC_ARROWS));
sockaddr_in ClientAddr;
memset(&ClientAddr, 0, sizeof(ClientAddr));
int ulClientAddrLen = sizeof(sockaddr_in);
BOOL bOk = getpeername(m_ContextObject->sClientSocket,(SOCKADDR*)&ClientAddr, &ulClientAddrLen);
m_strClientIP = bOk != INVALID_SOCKET ? inet_ntoa(ClientAddr.sin_addr) : "";
m_bIsFirst = TRUE; m_bIsFirst = TRUE;
m_ulHScrollPos = 0; m_ulHScrollPos = 0;
m_ulVScrollPos = 0; m_ulVScrollPos = 0;
@@ -145,7 +135,7 @@ BOOL CScreenSpyDlg::OnInitDialog()
SetIcon(m_hIcon,FALSE); SetIcon(m_hIcon,FALSE);
CString strString; CString strString;
strString.Format("%s - 远程桌面控制 %d×%d", m_strClientIP, strString.Format("%s - 远程桌面控制 %d×%d", m_IPAddress,
m_BitmapInfor_Full->bmiHeader.biWidth, m_BitmapInfor_Full->bmiHeader.biHeight); m_BitmapInfor_Full->bmiHeader.biWidth, m_BitmapInfor_Full->bmiHeader.biHeight);
SetWindowText(strString); SetWindowText(strString);
@@ -188,16 +178,9 @@ BOOL CScreenSpyDlg::OnInitDialog()
VOID CScreenSpyDlg::OnClose() VOID CScreenSpyDlg::OnClose()
{ {
#if CLOSE_DELETE_DLG CancelIO();
m_ContextObject->v1 = 0;
#endif
CancelIo((HANDLE)m_ContextObject->sClientSocket);
closesocket(m_ContextObject->sClientSocket);
CDialog::OnClose(); DialogBase::OnClose();
#if CLOSE_DELETE_DLG
delete this;
#endif
} }
@@ -578,7 +561,7 @@ VOID CScreenSpyDlg::SendCommand(const MSG64* Msg)
BOOL CScreenSpyDlg::SaveSnapshot(void) BOOL CScreenSpyDlg::SaveSnapshot(void)
{ {
CString strFileName = m_strClientIP + CTime::GetCurrentTime().Format("_%Y-%m-%d_%H-%M-%S.bmp"); CString strFileName = m_IPAddress + CTime::GetCurrentTime().Format("_%Y-%m-%d_%H-%M-%S.bmp");
CFileDialog Dlg(FALSE, "bmp", strFileName, OFN_OVERWRITEPROMPT, "位图文件(*.bmp)|*.bmp|", this); CFileDialog Dlg(FALSE, "bmp", strFileName, OFN_OVERWRITEPROMPT, "位图文件(*.bmp)|*.bmp|", this);
if(Dlg.DoModal () != IDOK) if(Dlg.DoModal () != IDOK)
return FALSE; return FALSE;

View File

@@ -38,7 +38,7 @@ extern "C"
// CScreenSpyDlg <20>Ի<EFBFBD><D4BB><EFBFBD> // CScreenSpyDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
class CScreenSpyDlg : public CDialog class CScreenSpyDlg : public DialogBase
{ {
DECLARE_DYNAMIC(CScreenSpyDlg) DECLARE_DYNAMIC(CScreenSpyDlg)
@@ -46,9 +46,6 @@ public:
CScreenSpyDlg(CWnd* Parent, IOCPServer* IOCPServer=NULL, CONTEXT_OBJECT *ContextObject=NULL); CScreenSpyDlg(CWnd* Parent, IOCPServer* IOCPServer=NULL, CONTEXT_OBJECT *ContextObject=NULL);
virtual ~CScreenSpyDlg(); virtual ~CScreenSpyDlg();
CONTEXT_OBJECT* m_ContextObject;
IOCPServer* m_iocpServer;
VOID SendNext(void); VOID SendNext(void);
VOID OnReceiveComplete(); VOID OnReceiveComplete();
HDC m_hFullDC; HDC m_hFullDC;
@@ -63,11 +60,9 @@ public:
ULONG m_ulVScrollPos; ULONG m_ulVScrollPos;
VOID DrawTipString(CString strString); VOID DrawTipString(CString strString);
HICON m_hIcon;
HICON m_hCursor; HICON m_hCursor;
POINT m_ClientCursorPos; POINT m_ClientCursorPos;
BYTE m_bCursorIndex; BYTE m_bCursorIndex;
CString m_strClientIP;
BOOL m_bIsTraceCursor; BOOL m_bIsTraceCursor;
CCursorInfo m_CursorInfo; //<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ϵͳ<CFB5>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD> CCursorInfo m_CursorInfo; //<2F>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>һ<EFBFBD><D2BB>ϵͳ<CFB5>Ĺ<EFBFBD><C4B9><EFBFBD><EFBFBD><EFBFBD>
VOID SendCommand(const MSG64* Msg); VOID SendCommand(const MSG64* Msg);

View File

@@ -21,10 +21,8 @@ typedef struct ItemData1
} ItemData1; } ItemData1;
CServicesDlg::CServicesDlg(CWnd* pParent, IOCPServer* IOCPServer, CONTEXT_OBJECT *ContextObject) CServicesDlg::CServicesDlg(CWnd* pParent, IOCPServer* IOCPServer, CONTEXT_OBJECT *ContextObject)
: CDialog(CServicesDlg::IDD, pParent) : DialogBase(CServicesDlg::IDD, pParent, IOCPServer, ContextObject, IDI_SERVICE)
{ {
m_ContextObject = ContextObject;
m_iocpServer = IOCPServer;
} }
CServicesDlg::~CServicesDlg() CServicesDlg::~CServicesDlg()
@@ -41,6 +39,7 @@ void CServicesDlg::DoDataExchange(CDataExchange* pDX)
BEGIN_MESSAGE_MAP(CServicesDlg, CDialog) BEGIN_MESSAGE_MAP(CServicesDlg, CDialog)
ON_WM_CLOSE() ON_WM_CLOSE()
ON_WM_SIZE()
ON_COMMAND(ID_SERVICES_AUTO, &CServicesDlg::OnServicesAuto) ON_COMMAND(ID_SERVICES_AUTO, &CServicesDlg::OnServicesAuto)
ON_COMMAND(ID_SERVICES_MANUAL, &CServicesDlg::OnServicesManual) ON_COMMAND(ID_SERVICES_MANUAL, &CServicesDlg::OnServicesManual)
ON_COMMAND(ID_SERVICES_STOP, &CServicesDlg::OnServicesStop) ON_COMMAND(ID_SERVICES_STOP, &CServicesDlg::OnServicesStop)
@@ -58,12 +57,10 @@ BOOL CServicesDlg::OnInitDialog()
{ {
CDialog::OnInitDialog(); CDialog::OnInitDialog();
SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon, FALSE);
CString strString; CString strString;
sockaddr_in ClientAddress; strString.Format("%s - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>",m_IPAddress);
memset(&ClientAddress, 0, sizeof(ClientAddress));
int iClientAddressLength = sizeof(ClientAddress);
BOOL bResult = getpeername(m_ContextObject->sClientSocket, (SOCKADDR*)&ClientAddress, &iClientAddressLength);
strString.Format("%s - <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", bResult != INVALID_SOCKET ? inet_ntoa(ClientAddress.sin_addr) : "");
SetWindowText(strString); SetWindowText(strString);
m_ControlList.SetExtendedStyle( LVS_EX_FULLROWSELECT); m_ControlList.SetExtendedStyle( LVS_EX_FULLROWSELECT);
@@ -120,17 +117,10 @@ int CServicesDlg::ShowServicesList(void)
void CServicesDlg::OnClose() void CServicesDlg::OnClose()
{ {
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ CancelIO();
#if CLOSE_DELETE_DLG
m_ContextObject->v1 = 0;
#endif
DeleteAllItems(); DeleteAllItems();
CancelIo((HANDLE)m_ContextObject->sClientSocket);
closesocket(m_ContextObject->sClientSocket); DialogBase::OnClose();
CDialog::OnClose();
#if CLOSE_DELETE_DLG
delete this;
#endif
} }
@@ -261,3 +251,18 @@ void CServicesDlg::ServicesConfig(BYTE bCmd)
m_iocpServer->OnClientPreSending(m_ContextObject, szBuffer, LocalSize(szBuffer)); m_iocpServer->OnClientPreSending(m_ContextObject, szBuffer, LocalSize(szBuffer));
LocalFree(szBuffer); LocalFree(szBuffer);
} }
void CServicesDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
if (!m_ControlList.GetSafeHwnd()) return; // ȷ<><C8B7><EFBFBD>ؼ<EFBFBD><D8BC>Ѵ<EFBFBD><D1B4><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>úʹ<C3BA>С
CRect rc;
m_ControlList.GetWindowRect(&rc);
ScreenToClient(&rc);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿؼ<C3BF><D8BC><EFBFBD>С
m_ControlList.MoveWindow(0, 0, cx, cy, TRUE);
}

View File

@@ -5,15 +5,14 @@
// CServicesDlg <20>Ի<EFBFBD><D4BB><EFBFBD> // CServicesDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
class CServicesDlg : public CDialog class CServicesDlg : public DialogBase
{ {
DECLARE_DYNAMIC(CServicesDlg) DECLARE_DYNAMIC(CServicesDlg)
public: public:
CServicesDlg(CWnd* pParent = NULL, IOCPServer* IOCPServer = NULL, CONTEXT_OBJECT *ContextObject = NULL); // <20><>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><ECBAAF> CServicesDlg(CWnd* pParent = NULL, IOCPServer* IOCPServer = NULL, CONTEXT_OBJECT *ContextObject = NULL); // <20><>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><ECBAAF>
virtual ~CServicesDlg(); virtual ~CServicesDlg();
CONTEXT_OBJECT* m_ContextObject;
IOCPServer* m_iocpServer;
int ShowServicesList(void); int ShowServicesList(void);
void OnReceiveComplete(void); void OnReceiveComplete(void);
void ServicesConfig(BYTE bCmd); void ServicesConfig(BYTE bCmd);
@@ -41,4 +40,5 @@ public:
afx_msg void OnServicesStart(); afx_msg void OnServicesStart();
afx_msg void OnServicesReflash(); afx_msg void OnServicesReflash();
afx_msg void OnNMRClickList(NMHDR *pNMHDR, LRESULT *pResult); afx_msg void OnNMRClickList(NMHDR *pNMHDR, LRESULT *pResult);
afx_msg void OnSize(UINT nType, int cx, int cy);
}; };

View File

@@ -26,12 +26,8 @@ void CAutoEndEdit::OnChar(UINT nChar, UINT nRepCnt, UINT nFlags) {
IMPLEMENT_DYNAMIC(CShellDlg, CDialog) IMPLEMENT_DYNAMIC(CShellDlg, CDialog)
CShellDlg::CShellDlg(CWnd* pParent, IOCPServer* IOCPServer, CONTEXT_OBJECT *ContextObject) CShellDlg::CShellDlg(CWnd* pParent, IOCPServer* IOCPServer, CONTEXT_OBJECT *ContextObject)
: CDialog(CShellDlg::IDD, pParent) : DialogBase(CShellDlg::IDD, pParent, IOCPServer, ContextObject, IDI_ICON_SHELL)
{ {
m_iocpServer = IOCPServer;
m_ContextObject = ContextObject;
m_hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON_SHELL));
} }
CShellDlg::~CShellDlg() CShellDlg::~CShellDlg()
@@ -60,15 +56,11 @@ BOOL CShellDlg::OnInitDialog()
CDialog::OnInitDialog(); CDialog::OnInitDialog();
m_nCurSel = 0; m_nCurSel = 0;
m_nReceiveLength = 0; m_nReceiveLength = 0;
SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon,FALSE); SetIcon(m_hIcon,FALSE);
CString str; CString str;
sockaddr_in ClientAddr; str.Format("%s - Զ<><D4B6><EFBFBD>ն<EFBFBD>", m_IPAddress);
memset(&ClientAddr, 0, sizeof(ClientAddr));
int ClientAddrLen = sizeof(ClientAddr);
BOOL bResult = getpeername(m_ContextObject->sClientSocket, (SOCKADDR*)&ClientAddr, &ClientAddrLen);
str.Format("%s - Զ<><D4B6><EFBFBD>ն<EFBFBD>", bResult != INVALID_SOCKET ? inet_ntoa(ClientAddr.sin_addr) : "");
SetWindowText(str); SetWindowText(str);
BYTE bToken = COMMAND_NEXT; BYTE bToken = COMMAND_NEXT;
@@ -150,16 +142,9 @@ VOID CShellDlg::AddKeyBoardData(void)
void CShellDlg::OnClose() void CShellDlg::OnClose()
{ {
#if CLOSE_DELETE_DLG CancelIO();
m_ContextObject->v1 = 0;
#endif
CancelIo((HANDLE)m_ContextObject->sClientSocket);
closesocket(m_ContextObject->sClientSocket);
CDialog::OnClose(); DialogBase::OnClose();
#if CLOSE_DELETE_DLG
delete this;
#endif
} }

View File

@@ -12,17 +12,16 @@ public:
// CShellDlg <20>Ի<EFBFBD><D4BB><EFBFBD> // CShellDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
class CShellDlg : public CDialog class CShellDlg : public DialogBase
{ {
DECLARE_DYNAMIC(CShellDlg) DECLARE_DYNAMIC(CShellDlg)
public: public:
CShellDlg(CWnd* pParent = NULL, IOCPServer* IOCPServer = NULL, CONTEXT_OBJECT *ContextObject = NULL); CShellDlg(CWnd* pParent = NULL, IOCPServer* IOCPServer = NULL, CONTEXT_OBJECT *ContextObject = NULL);
virtual ~CShellDlg(); virtual ~CShellDlg();
CONTEXT_OBJECT* m_ContextObject;
IOCPServer* m_iocpServer;
VOID OnReceiveComplete(); VOID OnReceiveComplete();
HICON m_hIcon;
UINT m_nReceiveLength; UINT m_nReceiveLength;
VOID AddKeyBoardData(void); VOID AddKeyBoardData(void);
int m_nCurSel; //<2F><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>; int m_nCurSel; //<2F><><EFBFBD>õ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>;

View File

@@ -21,11 +21,8 @@ typedef struct ItemData
IMPLEMENT_DYNAMIC(CSystemDlg, CDialog) IMPLEMENT_DYNAMIC(CSystemDlg, CDialog)
CSystemDlg::CSystemDlg(CWnd* pParent, IOCPServer* IOCPServer, CONTEXT_OBJECT *ContextObject) CSystemDlg::CSystemDlg(CWnd* pParent, IOCPServer* IOCPServer, CONTEXT_OBJECT *ContextObject)
: CDialog(CSystemDlg::IDD, pParent) : DialogBase(CSystemDlg::IDD, pParent, IOCPServer, ContextObject, IDI_SERVICE)
{ {
m_ContextObject = ContextObject;
m_iocpServer = IOCPServer;
m_bHow= m_ContextObject->InDeCompressedBuffer.GetBYTE(0); m_bHow= m_ContextObject->InDeCompressedBuffer.GetBYTE(0);
} }
@@ -42,6 +39,7 @@ void CSystemDlg::DoDataExchange(CDataExchange* pDX)
BEGIN_MESSAGE_MAP(CSystemDlg, CDialog) BEGIN_MESSAGE_MAP(CSystemDlg, CDialog)
ON_WM_CLOSE() ON_WM_CLOSE()
ON_WM_SIZE()
ON_NOTIFY(NM_RCLICK, IDC_LIST_SYSTEM, &CSystemDlg::OnNMRClickListSystem) ON_NOTIFY(NM_RCLICK, IDC_LIST_SYSTEM, &CSystemDlg::OnNMRClickListSystem)
ON_NOTIFY(HDN_ITEMCLICK, 0, &CSystemDlg::OnHdnItemclickList) ON_NOTIFY(HDN_ITEMCLICK, 0, &CSystemDlg::OnHdnItemclickList)
ON_COMMAND(ID_PLIST_KILL, &CSystemDlg::OnPlistKill) ON_COMMAND(ID_PLIST_KILL, &CSystemDlg::OnPlistKill)
@@ -62,14 +60,12 @@ BOOL CSystemDlg::OnInitDialog()
{ {
CDialog::OnInitDialog(); CDialog::OnInitDialog();
SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon, FALSE);
CString str; CString str;
sockaddr_in ClientAddr;
memset(&ClientAddr, 0, sizeof(ClientAddr));
int iSockAddrLength = sizeof(ClientAddr);
BOOL bResult = getpeername(m_ContextObject->sClientSocket, (SOCKADDR*)&ClientAddr, &iSockAddrLength);
m_bHow==TOKEN_PSLIST m_bHow==TOKEN_PSLIST
? str.Format("%s - <20><><EFBFBD>̹<EFBFBD><CCB9><EFBFBD>", bResult != INVALID_SOCKET ? inet_ntoa(ClientAddr.sin_addr) : "") ? str.Format("%s - <20><><EFBFBD>̹<EFBFBD><CCB9><EFBFBD>", m_IPAddress)
:str.Format("%s - <20><><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD>", bResult != INVALID_SOCKET ? inet_ntoa(ClientAddr.sin_addr) : ""); :str.Format("%s - <20><><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD>", m_IPAddress);
SetWindowText(str);//<2F><><EFBFBD>öԻ<C3B6><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> SetWindowText(str);//<2F><><EFBFBD>öԻ<C3B6><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
m_ControlList.SetExtendedStyle(LVS_EX_FLATSB | LVS_EX_FULLROWSELECT); m_ControlList.SetExtendedStyle(LVS_EX_FLATSB | LVS_EX_FULLROWSELECT);
@@ -164,17 +160,9 @@ void CSystemDlg::ShowProcessList(void)
void CSystemDlg::OnClose() void CSystemDlg::OnClose()
{ {
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ CancelIO();
#if CLOSE_DELETE_DLG
m_ContextObject->v1 = 0;
#endif
DeleteAllItems(); DeleteAllItems();
CancelIo((HANDLE)m_ContextObject->sClientSocket); DialogBase::OnClose();
closesocket(m_ContextObject->sClientSocket);
CDialog::OnClose();
#if CLOSE_DELETE_DLG
delete this;
#endif
} }
// <20>ͷ<EFBFBD><CDB7><EFBFBD>Դ<EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> // <20>ͷ<EFBFBD><CDB7><EFBFBD>Դ<EFBFBD>Ժ<EFBFBD><D4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -462,3 +450,18 @@ void CSystemDlg::OnWlistMin()
m_iocpServer->OnClientPreSending(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf)); m_iocpServer->OnClientPreSending(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf));
} }
} }
void CSystemDlg::OnSize(UINT nType, int cx, int cy)
{
CDialog::OnSize(nType, cx, cy);
if (!m_ControlList.GetSafeHwnd()) return; // ȷ<><C8B7><EFBFBD>ؼ<EFBFBD><D8BC>Ѵ<EFBFBD><D1B4><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD>úʹ<C3BA>С
CRect rc;
m_ControlList.GetWindowRect(&rc);
ScreenToClient(&rc);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ÿؼ<C3BF><D8BC><EFBFBD>С
m_ControlList.MoveWindow(0, 0, cx, cy, TRUE);
}

View File

@@ -4,15 +4,14 @@
#include "IOCPServer.h" #include "IOCPServer.h"
// CSystemDlg <20>Ի<EFBFBD><D4BB><EFBFBD> // CSystemDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
class CSystemDlg : public CDialog class CSystemDlg : public DialogBase
{ {
DECLARE_DYNAMIC(CSystemDlg) DECLARE_DYNAMIC(CSystemDlg)
public: public:
CSystemDlg(CWnd* pParent = NULL, IOCPServer* IOCPServer = NULL, CONTEXT_OBJECT *ContextObject = NULL); CSystemDlg(CWnd* pParent = NULL, IOCPServer* IOCPServer = NULL, CONTEXT_OBJECT *ContextObject = NULL);
virtual ~CSystemDlg(); virtual ~CSystemDlg();
CONTEXT_OBJECT* m_ContextObject;
IOCPServer* m_iocpServer;
VOID GetProcessList(void); VOID GetProcessList(void);
VOID ShowProcessList(void); VOID ShowProcessList(void);
void ShowWindowsList(void); void ShowWindowsList(void);
@@ -45,4 +44,5 @@ public:
afx_msg void OnWlistRecover(); afx_msg void OnWlistRecover();
afx_msg void OnWlistMax(); afx_msg void OnWlistMax();
afx_msg void OnWlistMin(); afx_msg void OnWlistMin();
afx_msg void OnSize(UINT nType, int cx, int cy);
}; };

View File

@@ -11,10 +11,8 @@
IMPLEMENT_DYNAMIC(CTalkDlg, CDialog) IMPLEMENT_DYNAMIC(CTalkDlg, CDialog)
CTalkDlg::CTalkDlg(CWnd* pParent,IOCPServer* IOCPServer, CONTEXT_OBJECT* ContextObject) CTalkDlg::CTalkDlg(CWnd* pParent,IOCPServer* IOCPServer, CONTEXT_OBJECT* ContextObject)
: CDialog(CTalkDlg::IDD, pParent) : DialogBase(CTalkDlg::IDD, pParent, IOCPServer, ContextObject, IDR_MAINFRAME)
{ {
m_iocpServer = IOCPServer;
m_ContextObject = ContextObject;
} }
CTalkDlg::~CTalkDlg() CTalkDlg::~CTalkDlg()
@@ -42,7 +40,6 @@ BOOL CTalkDlg::OnInitDialog()
{ {
CDialog::OnInitDialog(); CDialog::OnInitDialog();
m_hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDR_MAINFRAME));
SetIcon(m_hIcon, FALSE); SetIcon(m_hIcon, FALSE);
BYTE bToken = COMMAND_NEXT; BYTE bToken = COMMAND_NEXT;
m_iocpServer->OnClientPreSending(m_ContextObject, &bToken, sizeof(BYTE)); m_iocpServer->OnClientPreSending(m_ContextObject, &bToken, sizeof(BYTE));
@@ -95,14 +92,7 @@ BOOL CTalkDlg::PreTranslateMessage(MSG* pMsg)
void CTalkDlg::OnClose() void CTalkDlg::OnClose()
{ {
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>/<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĭ<EFBFBD><C4AC>ֵ CancelIO();
#if CLOSE_DELETE_DLG
m_ContextObject->v1 = 0; DialogBase::OnClose();
#endif
CancelIo((HANDLE)m_ContextObject->sClientSocket);
closesocket(m_ContextObject->sClientSocket);
CDialog::OnClose();
#if CLOSE_DELETE_DLG
delete this;
#endif
} }

View File

@@ -4,7 +4,7 @@
// CTalkDlg <20>Ի<EFBFBD><D4BB><EFBFBD> // CTalkDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
class CTalkDlg : public CDialog class CTalkDlg : public DialogBase
{ {
DECLARE_DYNAMIC(CTalkDlg) DECLARE_DYNAMIC(CTalkDlg)
@@ -14,9 +14,10 @@ public:
// <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> // <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
enum { IDD = IDD_DIALOG_TALK }; enum { IDD = IDD_DIALOG_TALK };
CONTEXT_OBJECT* m_ContextObject;
IOCPServer* m_iocpServer; void OnReceiveComplete(void){
HICON m_hIcon; }
protected: protected:
virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV ֧<><D6A7> virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV ֧<><D6A7>

View File

@@ -91,7 +91,7 @@ void CVideoDlg::SaveAvi(void)
return; return;
} }
CString strFileName = m_strIPAddress + CTime::GetCurrentTime().Format("_%Y-%m-%d_%H-%M-%S.avi"); CString strFileName = m_IPAddress + CTime::GetCurrentTime().Format("_%Y-%m-%d_%H-%M-%S.avi");
CFileDialog dlg(FALSE, "avi", strFileName, OFN_OVERWRITEPROMPT, "<EFBFBD><EFBFBD>Ƶ<EFBFBD>ļ<EFBFBD>(*.avi)|*.avi|", this); CFileDialog dlg(FALSE, "avi", strFileName, OFN_OVERWRITEPROMPT, "<EFBFBD><EFBFBD>Ƶ<EFBFBD>ļ<EFBFBD>(*.avi)|*.avi|", this);
if(dlg.DoModal () != IDOK) if(dlg.DoModal () != IDOK)
return; return;
@@ -109,19 +109,12 @@ void CVideoDlg::SaveAvi(void)
CVideoDlg::CVideoDlg(CWnd* pParent, IOCPServer* IOCPServer, CONTEXT_OBJECT *ContextObject) CVideoDlg::CVideoDlg(CWnd* pParent, IOCPServer* IOCPServer, CONTEXT_OBJECT *ContextObject)
: CDialog(CVideoDlg::IDD, pParent) : DialogBase(CVideoDlg::IDD, pParent, IOCPServer, ContextObject, IDI_ICON_CAMERA)
{ {
m_nCount = 0; m_nCount = 0;
m_aviFile.Empty(); m_aviFile.Empty();
m_ContextObject = ContextObject;
m_iocpServer = IOCPServer;
m_BitmapInfor_Full = NULL; m_BitmapInfor_Full = NULL;
m_pVideoCodec = NULL; m_pVideoCodec = NULL;
sockaddr_in ClientAddress;
memset(&ClientAddress, 0, sizeof(ClientAddress));
int iClientAddressLength = sizeof(ClientAddress);
BOOL bResult = getpeername(m_ContextObject->sClientSocket, (SOCKADDR*)&ClientAddress, &iClientAddressLength);
m_strIPAddress = bResult != INVALID_SOCKET ? inet_ntoa(ClientAddress.sin_addr) : "";
m_BitmapData_Full = NULL; m_BitmapData_Full = NULL;
m_BitmapCompressedData_Full = NULL; m_BitmapCompressedData_Full = NULL;
@@ -209,7 +202,7 @@ BOOL CVideoDlg::OnInitDialog()
CString strString; CString strString;
strString.Format("%s - <20><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD> %d<><64>%d", m_strIPAddress, m_BitmapInfor_Full->bmiHeader.biWidth, m_BitmapInfor_Full->bmiHeader.biHeight); strString.Format("%s - <20><>Ƶ<EFBFBD><C6B5><EFBFBD><EFBFBD> %d<><64>%d", m_IPAddress, m_BitmapInfor_Full->bmiHeader.biWidth, m_BitmapInfor_Full->bmiHeader.biHeight);
SetWindowText(strString); SetWindowText(strString);
@@ -218,7 +211,6 @@ BOOL CVideoDlg::OnInitDialog()
m_iocpServer->OnClientPreSending(m_ContextObject, &bToken, sizeof(BYTE)); m_iocpServer->OnClientPreSending(m_ContextObject, &bToken, sizeof(BYTE));
} }
m_hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_ICON_CAMERA));
SetIcon(m_hIcon, TRUE); SetIcon(m_hIcon, TRUE);
SetIcon(m_hIcon, FALSE); SetIcon(m_hIcon, FALSE);
@@ -232,16 +224,10 @@ void CVideoDlg::OnClose()
SaveAvi(); SaveAvi();
m_aviFile.Empty(); m_aviFile.Empty();
} }
#if CLOSE_DELETE_DLG
m_ContextObject->v1 = 0;
#endif
CancelIo((HANDLE)m_ContextObject->sClientSocket);
closesocket(m_ContextObject->sClientSocket);
CDialog::OnClose(); CancelIO();
#if CLOSE_DELETE_DLG
delete this; DialogBase::OnClose();
#endif
} }
void CVideoDlg::OnReceiveComplete(void) void CVideoDlg::OnReceiveComplete(void)

View File

@@ -158,17 +158,13 @@ public:
// CVideoDlg <20>Ի<EFBFBD><D4BB><EFBFBD> // CVideoDlg <20>Ի<EFBFBD><D4BB><EFBFBD>
class CVideoDlg : public CDialog class CVideoDlg : public DialogBase
{ {
DECLARE_DYNAMIC(CVideoDlg) DECLARE_DYNAMIC(CVideoDlg)
HICON m_hIcon;
public: public:
CVideoDlg(CWnd* pParent = NULL, IOCPServer* IOCPServer = NULL, CONTEXT_OBJECT *ContextObject = NULL); // <20><>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><ECBAAF> CVideoDlg(CWnd* pParent = NULL, IOCPServer* IOCPServer = NULL, CONTEXT_OBJECT *ContextObject = NULL); // <20><>׼<EFBFBD><D7BC><EFBFBD><EFBFBD><ECBAAF>
virtual ~CVideoDlg(); virtual ~CVideoDlg();
CONTEXT_OBJECT* m_ContextObject;
IOCPServer* m_iocpServer;
CString m_strIPAddress;
LPBITMAPINFO m_BitmapInfor_Full; LPBITMAPINFO m_BitmapInfor_Full;
BYTE* m_BitmapData_Full; BYTE* m_BitmapData_Full;

View File

@@ -25,23 +25,19 @@ static UINT indicators[] = {
using namespace file; using namespace file;
CFileManagerDlg::CFileManagerDlg(CWnd* pParent, ISocketBase* pIOCPServer, ClientContext* pContext) CFileManagerDlg::CFileManagerDlg(CWnd* pParent, ISocketBase* pIOCPServer, ClientContext* pContext)
: DialogBase(CFileManagerDlg::IDD, pParent, pIOCPServer, pContext, 0) : DialogBase(CFileManagerDlg::IDD, pParent, pIOCPServer, pContext, IDI_File)
{ {
m_ProgressCtrl = nullptr; m_ProgressCtrl = nullptr;
m_SearchStr = _T(""); m_SearchStr = _T("");
m_bSubFordle = FALSE; m_bSubFordle = FALSE;
m_bOnClose = 0;
id_search_result = 0; id_search_result = 0;
m_iocpServer = pIOCPServer;
m_pContext = pContext;
m_IPAddress = m_pContext->PeerName.c_str();
m_hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_File)); //<2F><><EFBFBD><EFBFBD>ͼ<EFBFBD><CDBC>
// <20><><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD> // <20><><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
m_bCanAdmin = (*m_pContext->m_DeCompressionBuffer.GetBuffer(1)) == 0x01; m_bCanAdmin = (*m_ContextObject->m_DeCompressionBuffer.GetBuffer(1)) == 0x01;
m_strDesktopPath = (TCHAR*)m_pContext->m_DeCompressionBuffer.GetBuffer(2); m_strDesktopPath = (TCHAR*)m_ContextObject->m_DeCompressionBuffer.GetBuffer(2);
memset(m_bRemoteDriveList, 0, sizeof(m_bRemoteDriveList)); memset(m_bRemoteDriveList, 0, sizeof(m_bRemoteDriveList));
memcpy(m_bRemoteDriveList, m_pContext->m_DeCompressionBuffer.GetBuffer(1 + 1 + (m_strDesktopPath.GetLength() + 1) * sizeof(TCHAR)), memcpy(m_bRemoteDriveList, m_ContextObject->m_DeCompressionBuffer.GetBuffer(1 + 1 + (m_strDesktopPath.GetLength() + 1) * sizeof(TCHAR)),
m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1 - 1 - (m_strDesktopPath.GetLength() + 1) * sizeof(TCHAR)); m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - 1 - 1 - (m_strDesktopPath.GetLength() + 1) * sizeof(TCHAR));
m_bUseAdmin = false; m_bUseAdmin = false;
m_hFileSend = INVALID_HANDLE_VALUE; m_hFileSend = INVALID_HANDLE_VALUE;
@@ -163,7 +159,7 @@ BOOL CFileManagerDlg::OnInitDialog()
// <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD> // <20><><EFBFBD>ñ<EFBFBD><C3B1><EFBFBD>
CString str; CString str;
str.Format(_T("<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - %s"), m_pContext->PeerName.c_str()), SetWindowText(str); str.Format(_T("<EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - %s"), m_ContextObject->PeerName.c_str()), SetWindowText(str);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC> // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬<D7B4><CCAC>
if (!m_wndStatusBar.Create(this) || if (!m_wndStatusBar.Create(this) ||
@@ -195,24 +191,11 @@ BOOL CFileManagerDlg::OnInitDialog()
m_list_remote.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_ONECLICKACTIVATE | LVS_EX_SUBITEMIMAGES | LVS_EX_GRIDLINES | LVS_SHAREIMAGELISTS); m_list_remote.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_ONECLICKACTIVATE | LVS_EX_SUBITEMIMAGES | LVS_EX_GRIDLINES | LVS_SHAREIMAGELISTS);
m_list_remote_search.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_ONECLICKACTIVATE | LVS_EX_SUBITEMIMAGES | LVS_EX_GRIDLINES | LVS_SHAREIMAGELISTS); m_list_remote_search.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_ONECLICKACTIVATE | LVS_EX_SUBITEMIMAGES | LVS_EX_GRIDLINES | LVS_SHAREIMAGELISTS);
//<2F><><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1>ؼ<EFBFBD><D8BC>Ĵ<EFBFBD>Сͼ<D0A1><CDBC> m_list_remote.SetImageList(&(THIS_APP->m_pImageList_Large), LVSIL_NORMAL);
static bool init = false; m_list_remote.SetImageList(&(THIS_APP->m_pImageList_Small), LVSIL_SMALL);
static CImageList m_pImageList_Large; //ϵͳ<CFB5><CDB3>ͼ<EFBFBD><CDBC>
static CImageList m_pImageList_Small; //ϵͳСͼ<D0A1><CDBC>
if (!init) {
init = true;
SHFILEINFO sfi = {};
HIMAGELIST hImageList = (HIMAGELIST)SHGetFileInfo((LPCTSTR)_T(""), 0, &sfi, sizeof(SHFILEINFO), SHGFI_LARGEICON | SHGFI_SYSICONINDEX);
m_pImageList_Large.Attach(hImageList);
hImageList = (HIMAGELIST)SHGetFileInfo((LPCTSTR)_T(""), 0, &sfi, sizeof(SHFILEINFO), SHGFI_SMALLICON | SHGFI_SYSICONINDEX);
m_pImageList_Small.Attach(hImageList);
}
m_list_remote.SetImageList(&m_pImageList_Large, LVSIL_NORMAL); m_list_remote_search.SetImageList(&(THIS_APP->m_pImageList_Large), LVSIL_NORMAL);
m_list_remote.SetImageList(&m_pImageList_Small, LVSIL_SMALL); m_list_remote_search.SetImageList(&(THIS_APP->m_pImageList_Small), LVSIL_SMALL);
m_list_remote_search.SetImageList(&m_pImageList_Large, LVSIL_NORMAL);
m_list_remote_search.SetImageList(&m_pImageList_Small, LVSIL_SMALL);
m_list_remote_driver.InsertColumn(0, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), LVCFMT_LEFT, 50); m_list_remote_driver.InsertColumn(0, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), LVCFMT_LEFT, 50);
m_list_remote_driver.InsertColumn(1, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), LVCFMT_LEFT, 38); m_list_remote_driver.InsertColumn(1, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), LVCFMT_LEFT, 38);
@@ -485,7 +468,7 @@ void CFileManagerDlg::FixedRemoteDriveList()
SendMessageTimeout(m_wndStatusBar.GetSafeHwnd(), SB_SETTEXT, 2, NULL, SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult); SendMessageTimeout(m_wndStatusBar.GetSafeHwnd(), SB_SETTEXT, 2, NULL, SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
BYTE bPacket = COMMAND_FILE_GETNETHOOD; BYTE bPacket = COMMAND_FILE_GETNETHOOD;
m_iocpServer->Send(m_pContext, &bPacket, 1); m_iocpServer->Send(m_ContextObject, &bPacket, 1);
} }
void CFileManagerDlg::fixNetHood(BYTE* pbuffer, int buffersize) void CFileManagerDlg::fixNetHood(BYTE* pbuffer, int buffersize)
@@ -509,10 +492,9 @@ void CFileManagerDlg::fixNetHood(BYTE* pbuffer, int buffersize)
void CFileManagerDlg::OnClose() void CFileManagerDlg::OnClose()
{ {
if (m_bOnClose) return; if (m_bIsClosed) return;
m_bOnClose = TRUE;
CancelIo((HANDLE)m_ContextObject->sClientSocket); CancelIO();
closesocket(m_ContextObject->sClientSocket);
DestroyIcon(m_hIcon); DestroyIcon(m_hIcon);
@@ -541,8 +523,7 @@ void CFileManagerDlg::OnClose()
m_ProgressCtrl->DestroyWindow(); m_ProgressCtrl->DestroyWindow();
SAFE_DELETE(m_ProgressCtrl); SAFE_DELETE(m_ProgressCtrl);
if (IsWindow(m_hWnd)) DialogBase::OnClose();
DestroyWindow();
} }
CString CFileManagerDlg::GetParentDirectory(CString strPath) CString CFileManagerDlg::GetParentDirectory(CString strPath)
@@ -567,10 +548,10 @@ CString CFileManagerDlg::GetParentDirectory(CString strPath)
void CFileManagerDlg::OnReceiveComplete() void CFileManagerDlg::OnReceiveComplete()
{ {
if (m_bOnClose) return; if (m_bIsClosed) return;
switch (m_pContext->m_DeCompressionBuffer.GetBuffer(0)[0]) { switch (m_ContextObject->m_DeCompressionBuffer.GetBuffer(0)[0]) {
case TOKEN_FILE_LIST: // <20>ļ<EFBFBD><C4BC>б<EFBFBD> case TOKEN_FILE_LIST: // <20>ļ<EFBFBD><C4BC>б<EFBFBD>
FixedRemoteFileList(m_pContext->m_DeCompressionBuffer.GetBuffer(0), m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1); FixedRemoteFileList(m_ContextObject->m_DeCompressionBuffer.GetBuffer(0), m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - 1);
break; break;
case TOKEN_FILE_SIZE: // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD>ĵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD> case TOKEN_FILE_SIZE: // <20><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>ʱ<EFBFBD>ĵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD>ݰ<EFBFBD><DDB0><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
CreateLocalRecvFile(); CreateLocalRecvFile();
@@ -600,8 +581,8 @@ void CFileManagerDlg::OnReceiveComplete()
case TOKEN_SEARCH_FILE_LIST: case TOKEN_SEARCH_FILE_LIST:
FixedRemoteSearchFileList FixedRemoteSearchFileList
( (
m_pContext->m_DeCompressionBuffer.GetBuffer(0), m_ContextObject->m_DeCompressionBuffer.GetBuffer(0),
m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1 m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - 1
); );
break; break;
case TOKEN_SEARCH_FILE_FINISH: case TOKEN_SEARCH_FILE_FINISH:
@@ -611,17 +592,17 @@ void CFileManagerDlg::OnReceiveComplete()
GetRemoteFileList(_T(".")); GetRemoteFileList(_T("."));
break; break;
case TOKEN_FILE_GETNETHOOD: case TOKEN_FILE_GETNETHOOD:
fixNetHood(m_pContext->m_DeCompressionBuffer.GetBuffer(1), m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1); fixNetHood(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1), m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - 1);
break; break;
case TOKEN_FILE_RECENT: { case TOKEN_FILE_RECENT: {
CString strRecent = (TCHAR*)m_pContext->m_DeCompressionBuffer.GetBuffer(1); CString strRecent = (TCHAR*)m_ContextObject->m_DeCompressionBuffer.GetBuffer(1);
m_Remote_Directory_ComboBox.SetWindowText(strRecent); m_Remote_Directory_ComboBox.SetWindowText(strRecent);
m_list_remote.SetSelectionMark(-1); m_list_remote.SetSelectionMark(-1);
GetRemoteFileList(); GetRemoteFileList();
} }
break; break;
case TOKEN_FILE_INFO: { case TOKEN_FILE_INFO: {
CString szInfo = (TCHAR*)m_pContext->m_DeCompressionBuffer.GetBuffer(1); CString szInfo = (TCHAR*)m_ContextObject->m_DeCompressionBuffer.GetBuffer(1);
if (MessageBox(szInfo, _T("·<EFBFBD><EFBFBD> ȷ<>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD>"), MB_ICONEXCLAMATION | MB_YESNO) == IDYES) { if (MessageBox(szInfo, _T("·<EFBFBD><EFBFBD> ȷ<>Ͽ<EFBFBD><CFBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>а<EFBFBD>"), MB_ICONEXCLAMATION | MB_YESNO) == IDYES) {
CStringA a; CStringA a;
a = szInfo; a = szInfo;
@@ -680,7 +661,7 @@ void CFileManagerDlg::OnReceiveComplete()
case TOKEN_FILE_SEARCHPLUS_NUMBER: { case TOKEN_FILE_SEARCHPLUS_NUMBER: {
DWORD_PTR dwResult; DWORD_PTR dwResult;
int i; int i;
memcpy(&i, m_pContext->m_DeCompressionBuffer.GetBuffer() + 1, sizeof(int)); memcpy(&i, m_ContextObject->m_DeCompressionBuffer.GetBuffer() + 1, sizeof(int));
CString strMsgShow; CString strMsgShow;
strMsgShow.Format(_T("<EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %d <20><><EFBFBD><EFBFBD><EFBFBD>ٴ<EFBFBD><D9B4><EFBFBD><EFBFBD><EFBFBD>"), i); strMsgShow.Format(_T("<EFBFBD>Ѿ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> %d <20><><EFBFBD><EFBFBD><EFBFBD>ٴ<EFBFBD><D9B4><EFBFBD><EFBFBD><EFBFBD>"), i);
SendMessageTimeout(m_wndStatusBar.GetSafeHwnd(), SB_SETTEXT, 2, (LPARAM)(strMsgShow.GetBuffer()), SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult); SendMessageTimeout(m_wndStatusBar.GetSafeHwnd(), SB_SETTEXT, 2, (LPARAM)(strMsgShow.GetBuffer()), SMTO_ABORTIFHUNG | SMTO_BLOCK, 500, &dwResult);
@@ -735,7 +716,7 @@ void CFileManagerDlg::GetRemoteFileList(CString directory)
bPacket[0] = COMMAND_LIST_FILES; bPacket[0] = COMMAND_LIST_FILES;
memcpy(bPacket + 1, m_Remote_Path.GetBuffer(0), PacketSize - 1); memcpy(bPacket + 1, m_Remote_Path.GetBuffer(0), PacketSize - 1);
m_iocpServer->Send(m_pContext, bPacket, PacketSize); m_iocpServer->Send(m_ContextObject, bPacket, PacketSize);
LocalFree(bPacket); LocalFree(bPacket);
m_Remote_Directory_ComboBox.InsertString(0, m_Remote_Path); m_Remote_Directory_ComboBox.InsertString(0, m_Remote_Path);
@@ -762,7 +743,7 @@ void CFileManagerDlg::OnDblclkListRemote(NMHDR* pNMHDR, LRESULT* pResult)
BYTE* bPacket = (BYTE*)LocalAlloc(LPTR, PacketSize); BYTE* bPacket = (BYTE*)LocalAlloc(LPTR, PacketSize);
bPacket[0] = COMMAND_FILE_GETINFO; bPacket[0] = COMMAND_FILE_GETINFO;
memcpy(bPacket + 1, filename.GetBuffer(0), PacketSize - 1); memcpy(bPacket + 1, filename.GetBuffer(0), PacketSize - 1);
m_iocpServer->Send(m_pContext, bPacket, PacketSize); m_iocpServer->Send(m_ContextObject, bPacket, PacketSize);
LocalFree(bPacket); LocalFree(bPacket);
} }
return; return;
@@ -787,7 +768,7 @@ void CFileManagerDlg::OnDblclkListRemotedriver(NMHDR* pNMHDR, LRESULT* pResult)
} }
if (directory.Compare(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>")) == 0) { if (directory.Compare(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>")) == 0) {
BYTE byToken = COMMAND_FILE_RECENT; BYTE byToken = COMMAND_FILE_RECENT;
m_iocpServer->Send(m_pContext, &byToken, 1); m_iocpServer->Send(m_ContextObject, &byToken, 1);
return; return;
} }
m_Remote_Path = directory; m_Remote_Path = directory;
@@ -797,7 +778,7 @@ void CFileManagerDlg::OnDblclkListRemotedriver(NMHDR* pNMHDR, LRESULT* pResult)
bPacket[0] = COMMAND_LIST_FILES; bPacket[0] = COMMAND_LIST_FILES;
memcpy(bPacket + 1, directory.GetBuffer(0), PacketSize - 1); memcpy(bPacket + 1, directory.GetBuffer(0), PacketSize - 1);
m_iocpServer->Send(m_pContext, bPacket, PacketSize); m_iocpServer->Send(m_ContextObject, bPacket, PacketSize);
LocalFree(bPacket); LocalFree(bPacket);
m_Remote_Directory_ComboBox.InsertString(0, directory); m_Remote_Directory_ComboBox.InsertString(0, directory);
@@ -955,7 +936,7 @@ void CFileManagerDlg::OnRemoteView()
void CFileManagerDlg::OnRemoteRecent() void CFileManagerDlg::OnRemoteRecent()
{ {
BYTE byToken = COMMAND_FILE_RECENT; BYTE byToken = COMMAND_FILE_RECENT;
m_iocpServer->Send(m_pContext, &byToken, 1); m_iocpServer->Send(m_ContextObject, &byToken, 1);
} }
void CFileManagerDlg::OnRemoteDesktop() void CFileManagerDlg::OnRemoteDesktop()
@@ -1149,7 +1130,7 @@ BOOL CFileManagerDlg::SendDownloadJob()
// <20>ļ<EFBFBD>ƫ<EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> // <20>ļ<EFBFBD>ƫ<EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
memcpy(bPacket + 1, file.GetBuffer(0), (file.GetLength() + 1) * sizeof(TCHAR)); memcpy(bPacket + 1, file.GetBuffer(0), (file.GetLength() + 1) * sizeof(TCHAR));
m_iocpServer->Send(m_pContext, bPacket, nPacketSize); m_iocpServer->Send(m_ContextObject, bPacket, nPacketSize);
LocalFree(bPacket); LocalFree(bPacket);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>Լ<EFBFBD> // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>Լ<EFBFBD>
@@ -1211,7 +1192,7 @@ BOOL CFileManagerDlg::SendUploadJob()
memcpy(bPacket + 1, &dwSizeHigh, sizeof(DWORD)); memcpy(bPacket + 1, &dwSizeHigh, sizeof(DWORD));
memcpy(bPacket + 5, &dwSizeLow, sizeof(DWORD)); memcpy(bPacket + 5, &dwSizeLow, sizeof(DWORD));
memcpy(bPacket + 9, fileRemote.GetBuffer(0), (fileRemote.GetLength() + 1) * sizeof(TCHAR)); memcpy(bPacket + 9, fileRemote.GetBuffer(0), (fileRemote.GetLength() + 1) * sizeof(TCHAR));
m_iocpServer->Send(m_pContext, bPacket, nPacketSize); m_iocpServer->Send(m_ContextObject, bPacket, nPacketSize);
LocalFree(bPacket); LocalFree(bPacket);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>Լ<EFBFBD> // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>Լ<EFBFBD>
@@ -1239,7 +1220,7 @@ BOOL CFileManagerDlg::SendDeleteJob()
// <20>ļ<EFBFBD>ƫ<EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1> // <20>ļ<EFBFBD>ƫ<EFBFBD>ƣ<EFBFBD><C6A3><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><CAB1>
memcpy(bPacket + 1, file.GetBuffer(0), nPacketSize - 1); memcpy(bPacket + 1, file.GetBuffer(0), nPacketSize - 1);
m_iocpServer->Send(m_pContext, bPacket, nPacketSize); m_iocpServer->Send(m_ContextObject, bPacket, nPacketSize);
LocalFree(bPacket); LocalFree(bPacket);
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>Լ<EFBFBD> // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD><D0B1><EFBFBD>ɾ<EFBFBD><C9BE><EFBFBD>Լ<EFBFBD>
@@ -1254,7 +1235,7 @@ void CFileManagerDlg::CreateLocalRecvFile()
// <20><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD> // <20><><EFBFBD>ü<EFBFBD><C3BC><EFBFBD><EFBFBD><EFBFBD>
m_nCounter = 0; m_nCounter = 0;
FILESIZE* pFileSize = (FILESIZE*)(m_pContext->m_DeCompressionBuffer.GetBuffer(1)); FILESIZE* pFileSize = (FILESIZE*)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
DWORD dwSizeHigh = pFileSize->dwSizeHigh; DWORD dwSizeHigh = pFileSize->dwSizeHigh;
DWORD dwSizeLow = pFileSize->dwSizeLow; DWORD dwSizeLow = pFileSize->dwSizeLow;
if (pFileSize->error==FALSE) { if (pFileSize->error==FALSE) {
@@ -1264,7 +1245,7 @@ void CFileManagerDlg::CreateLocalRecvFile()
m_nOperatingFileLength = ((__int64)dwSizeHigh << 32) + dwSizeLow; m_nOperatingFileLength = ((__int64)dwSizeHigh << 32) + dwSizeLow;
// <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD> // <20><>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>
m_strOperatingFile = (TCHAR*)(m_pContext->m_DeCompressionBuffer.GetBuffer(9)); m_strOperatingFile = (TCHAR*)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(9));
m_strReceiveLocalFile = m_strOperatingFile; m_strReceiveLocalFile = m_strOperatingFile;
@@ -1394,7 +1375,7 @@ void CFileManagerDlg::CreateLocalRecvFile()
SendStop(TRUE); SendStop(TRUE);
else { else {
// <20><><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>token,<2C><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB> // <20><><EFBFBD>ͼ<EFBFBD><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>token,<2C><><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ƫ<EFBFBD><C6AB>
m_iocpServer->Send(m_pContext, bToken, sizeof(bToken)); m_iocpServer->Send(m_ContextObject, bToken, sizeof(bToken));
} }
} }
@@ -1408,9 +1389,9 @@ void CFileManagerDlg::WriteLocalRecvFile()
int nHeadLength = 9; // 1 + 4 + 4 <20><><EFBFBD>ݰ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>С<EFBFBD><D0A1>Ϊ<EFBFBD>̶<EFBFBD><CCB6><EFBFBD>9 int nHeadLength = 9; // 1 + 4 + 4 <20><><EFBFBD>ݰ<EFBFBD>ͷ<EFBFBD><CDB7><EFBFBD><EFBFBD>С<EFBFBD><D0A1>Ϊ<EFBFBD>̶<EFBFBD><CCB6><EFBFBD>9
FILESIZE* pFileSize; FILESIZE* pFileSize;
// <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ݵ<EFBFBD>ƫ<EFBFBD><C6AB> // <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD>ݵ<EFBFBD>ƫ<EFBFBD><C6AB>
pData = m_pContext->m_DeCompressionBuffer.GetBuffer(nHeadLength); pData = m_ContextObject->m_DeCompressionBuffer.GetBuffer(nHeadLength);
pFileSize = (FILESIZE*)m_pContext->m_DeCompressionBuffer.GetBuffer(1); pFileSize = (FILESIZE*)m_ContextObject->m_DeCompressionBuffer.GetBuffer(1);
// <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>е<EFBFBD>ƫ<EFBFBD><C6AB>, <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> // <20>õ<EFBFBD><C3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD><C4BC>е<EFBFBD>ƫ<EFBFBD><C6AB>, <20><>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
//m_nCounter = MAKEINT64(pFileSize->dwSizeLow, pFileSize->dwSizeHigh); //m_nCounter = MAKEINT64(pFileSize->dwSizeLow, pFileSize->dwSizeHigh);
@@ -1428,7 +1409,7 @@ void CFileManagerDlg::WriteLocalRecvFile()
Bf_dwOffsetHighs = dwOffsetHigh; Bf_dwOffsetHighs = dwOffsetHigh;
Bf_dwOffsetLows = dwOffsetLow; Bf_dwOffsetLows = dwOffsetLow;
dwBytesToWrite = m_pContext->m_DeCompressionBuffer.GetBufferLen() - nHeadLength; dwBytesToWrite = m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - nHeadLength;
SetFilePointer(m_hFileRecv, dwOffsetLow, &dwOffsetHigh, FILE_BEGIN); SetFilePointer(m_hFileRecv, dwOffsetLow, &dwOffsetHigh, FILE_BEGIN);
@@ -1457,7 +1438,7 @@ void CFileManagerDlg::WriteLocalRecvFile()
bToken[0] = COMMAND_CONTINUE; bToken[0] = COMMAND_CONTINUE;
memcpy(bToken + 1, &dwOffsetHigh, sizeof(dwOffsetHigh)); memcpy(bToken + 1, &dwOffsetHigh, sizeof(dwOffsetHigh));
memcpy(bToken + 5, &dwOffsetLow, sizeof(dwOffsetLow)); memcpy(bToken + 5, &dwOffsetLow, sizeof(dwOffsetLow));
m_iocpServer->Send(m_pContext, bToken, sizeof(bToken)); m_iocpServer->Send(m_ContextObject, bToken, sizeof(bToken));
} }
} }
@@ -1552,13 +1533,13 @@ void CFileManagerDlg::EndRemoteDeleteFile()
void CFileManagerDlg::SendException() void CFileManagerDlg::SendException()
{ {
BYTE bBuff = COMMAND_FILE_EXCEPTION; BYTE bBuff = COMMAND_FILE_EXCEPTION;
m_iocpServer->Send(m_pContext, &bBuff, 1); m_iocpServer->Send(m_ContextObject, &bBuff, 1);
} }
void CFileManagerDlg::SendContinue() void CFileManagerDlg::SendContinue()
{ {
BYTE bBuff = COMMAND_CONTINUE; BYTE bBuff = COMMAND_CONTINUE;
m_iocpServer->Send(m_pContext, &bBuff, 1); m_iocpServer->Send(m_ContextObject, &bBuff, 1);
} }
void CFileManagerDlg::SendStop(BOOL bIsDownload) void CFileManagerDlg::SendStop(BOOL bIsDownload)
@@ -1570,7 +1551,7 @@ void CFileManagerDlg::SendStop(BOOL bIsDownload)
BYTE bBuff[2]; BYTE bBuff[2];
bBuff[0] = COMMAND_STOP; bBuff[0] = COMMAND_STOP;
bBuff[1] = bIsDownload; bBuff[1] = bIsDownload;
m_iocpServer->Send(m_pContext, bBuff, sizeof(bBuff)); m_iocpServer->Send(m_ContextObject, bBuff, sizeof(bBuff));
} }
void CFileManagerDlg::ShowProgress() void CFileManagerDlg::ShowProgress()
@@ -1644,7 +1625,7 @@ void CFileManagerDlg::OnRemoteStop()
void CFileManagerDlg::PostNcDestroy() void CFileManagerDlg::PostNcDestroy()
{ {
if (!m_bOnClose) if (!m_bIsClosed)
OnClose(); OnClose();
CDialog::PostNcDestroy(); CDialog::PostNcDestroy();
delete this; delete this;
@@ -1686,12 +1667,12 @@ void CFileManagerDlg::SendTransferMode()
BYTE bToken[5]; BYTE bToken[5];
bToken[0] = COMMAND_SET_TRANSFER_MODE; bToken[0] = COMMAND_SET_TRANSFER_MODE;
memcpy(bToken + 1, &m_nTransferMode, sizeof(m_nTransferMode)); memcpy(bToken + 1, &m_nTransferMode, sizeof(m_nTransferMode));
m_iocpServer->Send(m_pContext, bToken, sizeof(bToken)); m_iocpServer->Send(m_ContextObject, bToken, sizeof(bToken));
} }
void CFileManagerDlg::SendFileData() void CFileManagerDlg::SendFileData()
{ {
FILESIZE* pFileSize = (FILESIZE*)(m_pContext->m_DeCompressionBuffer.GetBuffer(1)); FILESIZE* pFileSize = (FILESIZE*)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
LONG dwOffsetHigh = pFileSize->dwSizeHigh; LONG dwOffsetHigh = pFileSize->dwSizeHigh;
LONG dwOffsetLow = pFileSize->dwSizeLow; LONG dwOffsetLow = pFileSize->dwSizeLow;
@@ -1725,7 +1706,7 @@ void CFileManagerDlg::SendFileData()
if (nNumberOfBytesRead > 0) { if (nNumberOfBytesRead > 0) {
int nPacketSize = nNumberOfBytesRead + nHeadLength; int nPacketSize = nNumberOfBytesRead + nHeadLength;
m_iocpServer->Send(m_pContext, lpBuffer, nPacketSize); m_iocpServer->Send(m_ContextObject, lpBuffer, nPacketSize);
} }
LocalFree(lpBuffer); LocalFree(lpBuffer);
} }
@@ -1777,7 +1758,7 @@ void CFileManagerDlg::OnRemoteNewFolder()
LPBYTE lpBuffer = new BYTE[nPacketSize]; LPBYTE lpBuffer = new BYTE[nPacketSize];
lpBuffer[0] = COMMAND_CREATE_FOLDER; lpBuffer[0] = COMMAND_CREATE_FOLDER;
memcpy(lpBuffer + 1, file.GetBuffer(0), nPacketSize - 1); memcpy(lpBuffer + 1, file.GetBuffer(0), nPacketSize - 1);
m_iocpServer->Send(m_pContext, lpBuffer, nPacketSize); m_iocpServer->Send(m_ContextObject, lpBuffer, nPacketSize);
SAFE_DELETE_AR(lpBuffer); SAFE_DELETE_AR(lpBuffer);
} }
} }
@@ -1810,7 +1791,7 @@ void CFileManagerDlg::OnEndLabelEditListRemote(NMHDR* pNMHDR, LRESULT* pResult)
memcpy(lpBuffer + 1, strExistingFileName.GetBuffer(0), (strExistingFileName.GetLength() + 1) * sizeof(TCHAR)); memcpy(lpBuffer + 1, strExistingFileName.GetBuffer(0), (strExistingFileName.GetLength() + 1) * sizeof(TCHAR));
memcpy(lpBuffer + 1 + (strExistingFileName.GetLength() + 1) * sizeof(TCHAR), memcpy(lpBuffer + 1 + (strExistingFileName.GetLength() + 1) * sizeof(TCHAR),
strNewFileName.GetBuffer(0), (strNewFileName.GetLength() + 1) * sizeof(TCHAR)); strNewFileName.GetBuffer(0), (strNewFileName.GetLength() + 1) * sizeof(TCHAR));
m_iocpServer->Send(m_pContext, lpBuffer, nPacketSize); m_iocpServer->Send(m_ContextObject, lpBuffer, nPacketSize);
LocalFree(lpBuffer); LocalFree(lpBuffer);
} }
*pResult = 1; *pResult = 1;
@@ -1820,7 +1801,7 @@ void CFileManagerDlg::OnDelete()
{ {
BYTE bBuff; BYTE bBuff;
bBuff = COMMAND_FILE_NO_ENFORCE; bBuff = COMMAND_FILE_NO_ENFORCE;
m_iocpServer->Send(m_pContext, &bBuff, sizeof(bBuff)); m_iocpServer->Send(m_ContextObject, &bBuff, sizeof(bBuff));
OnRemoteDelete(); OnRemoteDelete();
} }
@@ -1828,7 +1809,7 @@ void CFileManagerDlg::OnDeleteEnforce()
{ {
BYTE bBuff; BYTE bBuff;
bBuff = COMMAND_FILE_ENFOCE; bBuff = COMMAND_FILE_ENFOCE;
m_iocpServer->Send(m_pContext, &bBuff, sizeof(bBuff)); m_iocpServer->Send(m_ContextObject, &bBuff, sizeof(bBuff));
OnRemoteDelete(); OnRemoteDelete();
} }
@@ -1864,7 +1845,7 @@ void CFileManagerDlg::OnRemoteOpenShow()
lpPacket[0] = COMMAND_OPEN_FILE_SHOW; lpPacket[0] = COMMAND_OPEN_FILE_SHOW;
lpPacket[1] = m_bUseAdmin; lpPacket[1] = m_bUseAdmin;
memcpy(lpPacket + 2, str.GetBuffer(0), nPacketLength - 2); memcpy(lpPacket + 2, str.GetBuffer(0), nPacketLength - 2);
m_iocpServer->Send(m_pContext, lpPacket, nPacketLength); m_iocpServer->Send(m_ContextObject, lpPacket, nPacketLength);
LocalFree(lpPacket); LocalFree(lpPacket);
} }
@@ -1882,7 +1863,7 @@ void CFileManagerDlg::OnRemoteOpenHide()
lpPacket[0] = COMMAND_OPEN_FILE_HIDE; lpPacket[0] = COMMAND_OPEN_FILE_HIDE;
lpPacket[1] = m_bUseAdmin; lpPacket[1] = m_bUseAdmin;
memcpy(lpPacket + 2, str.GetBuffer(0), nPacketLength - 2); memcpy(lpPacket + 2, str.GetBuffer(0), nPacketLength - 2);
m_iocpServer->Send(m_pContext, lpPacket, nPacketLength); m_iocpServer->Send(m_ContextObject, lpPacket, nPacketLength);
LocalFree(lpPacket); LocalFree(lpPacket);
} }
@@ -1899,7 +1880,7 @@ void CFileManagerDlg::OnRemoteInfo()
LPBYTE lpPacket = (LPBYTE)LocalAlloc(LPTR, nPacketLength); LPBYTE lpPacket = (LPBYTE)LocalAlloc(LPTR, nPacketLength);
lpPacket[0] = COMMAND_FILE_INFO; lpPacket[0] = COMMAND_FILE_INFO;
memcpy(lpPacket + 1, str.GetBuffer(0), nPacketLength - 1); memcpy(lpPacket + 1, str.GetBuffer(0), nPacketLength - 1);
m_iocpServer->Send(m_pContext, lpPacket, nPacketLength); m_iocpServer->Send(m_ContextObject, lpPacket, nPacketLength);
LocalFree(lpPacket); LocalFree(lpPacket);
} }
@@ -1918,7 +1899,7 @@ void CFileManagerDlg::OnRemoteEncryption()
lpPacket[0] = COMMAND_FILE_Encryption; lpPacket[0] = COMMAND_FILE_Encryption;
memcpy(lpPacket + 1, strA.GetBuffer(0), nPacketLength - 1); memcpy(lpPacket + 1, strA.GetBuffer(0), nPacketLength - 1);
m_iocpServer->Send(m_pContext, lpPacket, nPacketLength); m_iocpServer->Send(m_ContextObject, lpPacket, nPacketLength);
LocalFree(lpPacket); LocalFree(lpPacket);
} }
@@ -1937,7 +1918,7 @@ void CFileManagerDlg::OnRemoteDecrypt()
lpPacket[0] = COMMAND_FILE_Decrypt; lpPacket[0] = COMMAND_FILE_Decrypt;
memcpy(lpPacket + 1, strA.GetBuffer(0), nPacketLength - 1); memcpy(lpPacket + 1, strA.GetBuffer(0), nPacketLength - 1);
m_iocpServer->Send(m_pContext, lpPacket, nPacketLength); m_iocpServer->Send(m_ContextObject, lpPacket, nPacketLength);
LocalFree(lpPacket); LocalFree(lpPacket);
} }
@@ -1958,7 +1939,7 @@ void CFileManagerDlg::OnRemoteCopyFile()
lpPacket[0] = COMMAND_FILE_CopyFile; lpPacket[0] = COMMAND_FILE_CopyFile;
memcpy(lpPacket + 1, file.GetBuffer(0), nPacketLength - 1); memcpy(lpPacket + 1, file.GetBuffer(0), nPacketLength - 1);
m_iocpServer->Send(m_pContext, lpPacket, nPacketLength); m_iocpServer->Send(m_ContextObject, lpPacket, nPacketLength);
LocalFree(lpPacket); LocalFree(lpPacket);
ShowMessage(_T("׼<EFBFBD><EFBFBD>ճ<EFBFBD><EFBFBD>")); ShowMessage(_T("׼<EFBFBD><EFBFBD>ճ<EFBFBD><EFBFBD>"));
} }
@@ -1969,7 +1950,7 @@ void CFileManagerDlg::OnRemotePasteFile()
LPBYTE lpPacket = (LPBYTE)LocalAlloc(LPTR, nPacketLength); LPBYTE lpPacket = (LPBYTE)LocalAlloc(LPTR, nPacketLength);
lpPacket[0] = COMMAND_FILE_PasteFile; lpPacket[0] = COMMAND_FILE_PasteFile;
memcpy(lpPacket + 1, m_Remote_Path.GetBuffer(0), nPacketLength - 1); memcpy(lpPacket + 1, m_Remote_Path.GetBuffer(0), nPacketLength - 1);
m_iocpServer->Send(m_pContext, lpPacket, nPacketLength); m_iocpServer->Send(m_ContextObject, lpPacket, nPacketLength);
LocalFree(lpPacket); LocalFree(lpPacket);
} }
@@ -1993,7 +1974,7 @@ void CFileManagerDlg::OnRemotezip()
lpPacket[0] = COMMAND_FILE_zip; lpPacket[0] = COMMAND_FILE_zip;
memcpy(lpPacket + 1, file.GetBuffer(0), nPacketLength - 1); memcpy(lpPacket + 1, file.GetBuffer(0), nPacketLength - 1);
m_iocpServer->Send(m_pContext, lpPacket, nPacketLength); m_iocpServer->Send(m_ContextObject, lpPacket, nPacketLength);
LocalFree(lpPacket); LocalFree(lpPacket);
ShowMessage(_T("<EFBFBD><EFBFBD>ʼѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>رմ<EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")); ShowMessage(_T("<EFBFBD><EFBFBD>ʼѹ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҫ<EFBFBD>رմ<EFBFBD><EFBFBD>ڣ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
@@ -2002,7 +1983,7 @@ void CFileManagerDlg::OnRemotezip()
void CFileManagerDlg::OnRemotezipstop() void CFileManagerDlg::OnRemotezipstop()
{ {
BYTE lpPacket = COMMAND_FILE_zip_stop; BYTE lpPacket = COMMAND_FILE_zip_stop;
m_iocpServer->Send(m_pContext, &lpPacket, 1); m_iocpServer->Send(m_ContextObject, &lpPacket, 1);
} }
void CFileManagerDlg::OnRclickListRemotedriver(NMHDR* pNMHDR, LRESULT* pResult) void CFileManagerDlg::OnRclickListRemotedriver(NMHDR* pNMHDR, LRESULT* pResult)
@@ -2051,7 +2032,7 @@ void CFileManagerDlg::OnRclickListRemotedriver(NMHDR* pNMHDR, LRESULT* pResult)
BYTE* lpbuffer = new BYTE[sizeof(SEARCH) + 1]; BYTE* lpbuffer = new BYTE[sizeof(SEARCH) + 1];
lpbuffer[0] = COMMAND_FILE_SEARCHPLUS_LIST; lpbuffer[0] = COMMAND_FILE_SEARCHPLUS_LIST;
memcpy(lpbuffer + 1, &S_search, sizeof(SEARCH)); memcpy(lpbuffer + 1, &S_search, sizeof(SEARCH));
m_iocpServer->Send(m_pContext, (LPBYTE)lpbuffer, sizeof(SEARCH) + 1); m_iocpServer->Send(m_ContextObject, (LPBYTE)lpbuffer, sizeof(SEARCH) + 1);
SAFE_DELETE_AR(lpbuffer); SAFE_DELETE_AR(lpbuffer);
SetWindowPos(NULL, 0, 0, 830, 830, SWP_NOMOVE); SetWindowPos(NULL, 0, 0, 830, 830, SWP_NOMOVE);
} }
@@ -2326,7 +2307,7 @@ void CFileManagerDlg::OnCompress()
LPBYTE lpPacket = (LPBYTE)LocalAlloc(LPTR, nPacketLength); LPBYTE lpPacket = (LPBYTE)LocalAlloc(LPTR, nPacketLength);
lpPacket[0] = COMMAND_COMPRESS_FILE_PARAM; lpPacket[0] = COMMAND_COMPRESS_FILE_PARAM;
memcpy(lpPacket + 1, strMsg.GetBuffer(0), nPacketLength - 1); memcpy(lpPacket + 1, strMsg.GetBuffer(0), nPacketLength - 1);
m_iocpServer->Send(m_pContext, lpPacket, nPacketLength); m_iocpServer->Send(m_ContextObject, lpPacket, nPacketLength);
LocalFree(lpPacket); LocalFree(lpPacket);
} }
@@ -2353,7 +2334,7 @@ void CFileManagerDlg::OnUncompress()
LPBYTE lpPacket = (LPBYTE)LocalAlloc(LPTR, nPacketLength); LPBYTE lpPacket = (LPBYTE)LocalAlloc(LPTR, nPacketLength);
lpPacket[0] = COMMAND_COMPRESS_FILE_PARAM; lpPacket[0] = COMMAND_COMPRESS_FILE_PARAM;
memcpy(lpPacket + 1, strMsg.GetBuffer(0), nPacketLength - 1); memcpy(lpPacket + 1, strMsg.GetBuffer(0), nPacketLength - 1);
m_iocpServer->Send(m_pContext, lpPacket, nPacketLength); m_iocpServer->Send(m_ContextObject, lpPacket, nPacketLength);
LocalFree(lpPacket); LocalFree(lpPacket);
} }
@@ -2386,7 +2367,7 @@ void CFileManagerDlg::OnBtnSearch()
LPBYTE lpBuffer = new BYTE[nPacketSize]; LPBYTE lpBuffer = new BYTE[nPacketSize];
lpBuffer[0] = COMMAND_SEARCH_FILE; lpBuffer[0] = COMMAND_SEARCH_FILE;
memcpy(lpBuffer + 1, &mFileSearchPacket, sizeof(mFileSearchPacket)); memcpy(lpBuffer + 1, &mFileSearchPacket, sizeof(mFileSearchPacket));
m_iocpServer->Send(m_pContext, lpBuffer, nPacketSize); m_iocpServer->Send(m_ContextObject, lpBuffer, nPacketSize);
SAFE_DELETE_AR(lpBuffer); SAFE_DELETE_AR(lpBuffer);
// <20><><EFBFBD>ð<EFBFBD>ť״̬ // <20><><EFBFBD>ð<EFBFBD>ť״̬
m_BtnSearch.SetWindowText(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...")); m_BtnSearch.SetWindowText(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>..."));
@@ -2459,7 +2440,7 @@ void CFileManagerDlg::OnBnClickedSearchStop()
GetDlgItem(ID_SEARCH_STOP)->EnableWindow(FALSE); GetDlgItem(ID_SEARCH_STOP)->EnableWindow(FALSE);
// TODO: Add your command handler code here // TODO: Add your command handler code here
BYTE bToken = COMMAND_FILES_SEARCH_STOP; BYTE bToken = COMMAND_FILES_SEARCH_STOP;
m_iocpServer->Send(m_pContext, &bToken, sizeof(BYTE)); m_iocpServer->Send(m_ContextObject, &bToken, sizeof(BYTE));
} }
//<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
@@ -2476,14 +2457,14 @@ void CFileManagerDlg::OnBnClickedSearchResult()
void CFileManagerDlg::ShowSearchPlugList() void CFileManagerDlg::ShowSearchPlugList()
{ {
char* lpBuffer = (char*)(m_pContext->m_DeCompressionBuffer.GetBuffer(1)); char* lpBuffer = (char*)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
char* Filename; char* Filename;
char* Pathname; char* Pathname;
DWORD dwOffset = 0; DWORD dwOffset = 0;
m_list_remote_search.DeleteAllItems(); m_list_remote_search.DeleteAllItems();
int i = 0; int i = 0;
for (i = 0; dwOffset < (m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1); i++) { for (i = 0; dwOffset < (m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - 1); i++) {
Filename = lpBuffer + dwOffset; Filename = lpBuffer + dwOffset;
Pathname = Filename + strlen(Filename) + 1; Pathname = Filename + strlen(Filename) + 1;
CString CS_tem; CString CS_tem;

View File

@@ -82,9 +82,6 @@ namespace file {
void SearchEnd(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> void SearchEnd(); // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
void FixedRemoteSearchFileList(BYTE* pbBuffer, DWORD dwBufferLen); void FixedRemoteSearchFileList(BYTE* pbBuffer, DWORD dwBufferLen);
int m_nNewIconBaseIndex; // <20>¼ӵ<C2BC>ICON int m_nNewIconBaseIndex; // <20>¼ӵ<C2BC>ICON
ClientContext* m_pContext;
ISocketBase* m_iocpServer;
CString m_IPAddress;
CProgressCtrl* m_ProgressCtrl; CProgressCtrl* m_ProgressCtrl;
HCURSOR m_hCursor; HCURSOR m_hCursor;
CString m_Local_Path; CString m_Local_Path;
@@ -94,11 +91,10 @@ namespace file {
void FixedRemoteFileList(BYTE* pbBuffer, DWORD dwBufferLen); void FixedRemoteFileList(BYTE* pbBuffer, DWORD dwBufferLen);
void fixNetHood(BYTE* pbuffer, int buffersize);//Զ<>̹<EFBFBD><CCB9><EFBFBD>Ŀ¼ void fixNetHood(BYTE* pbuffer, int buffersize);//Զ<>̹<EFBFBD><CCB9><EFBFBD>Ŀ¼
bool id_search_result; bool id_search_result;
HICON m_hIcon;
CStatusBar m_wndStatusBar; CStatusBar m_wndStatusBar;
CFileManagerDlg(CWnd* pParent = NULL, ISocketBase* pIOCPServer = NULL, ClientContext* pContext = NULL); CFileManagerDlg(CWnd* pParent = NULL, ISocketBase* pIOCPServer = NULL, ClientContext* pContext = NULL);
~CFileManagerDlg() { ~CFileManagerDlg() {
m_bOnClose = TRUE; m_bIsClosed = TRUE;
SAFE_DELETE(m_ProgressCtrl); SAFE_DELETE(m_ProgressCtrl);
} }
enum { enum {
@@ -180,8 +176,6 @@ namespace file {
afx_msg void OnBnClickedSearchResult(); afx_msg void OnBnClickedSearchResult();
DECLARE_MESSAGE_MAP() DECLARE_MESSAGE_MAP()
protected:
BOOL m_bOnClose;
private: private:
bool m_bIsUpload; // <20>Ƿ<EFBFBD><C7B7>ǰѱ<C7B0><D1B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>λ bool m_bIsUpload; // <20>Ƿ<EFBFBD><C7B7>ǰѱ<C7B0><D1B1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Զ<EFBFBD><D4B6><EFBFBD>ϣ<EFBFBD><CFA3><EFBFBD>־<EFBFBD><D6BE><EFBFBD><EFBFBD>λ
BOOL m_bDragging; // during a drag operation BOOL m_bDragging; // during a drag operation

View File

@@ -23,9 +23,6 @@
// <20>Ƴ<EFBFBD><C6B3>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>MFC<46>ؼ<EFBFBD><D8BC><EFBFBD>֧<EFBFBD>֣<EFBFBD><D6A3><EFBFBD>С<EFBFBD><D0A1>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>С // <20>Ƴ<EFBFBD><C6B3>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD>MFC<46>ؼ<EFBFBD><D8BC><EFBFBD>֧<EFBFBD>֣<EFBFBD><D6A3><EFBFBD>С<EFBFBD><D0A1>̬<EFBFBD><CCAC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ĵ<EFBFBD>С
#define _AFX_NO_MFC_CONTROLS_IN_DIALOGS #define _AFX_NO_MFC_CONTROLS_IN_DIALOGS
// <20>رնԻ<D5B6><D4BB><EFBFBD>ʱɾ<CAB1><C9BE><EFBFBD>Ի<EFBFBD><D4BB><EFBFBD>
#define CLOSE_DELETE_DLG 0
// <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й©<D0B9><C2A9><EFBFBD>谲װVLD<4C><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD> // <20><><EFBFBD><EFBFBD><EFBFBD>ڴ<EFBFBD>й©<D0B9><C2A9><EFBFBD>谲װVLD<4C><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD>ʹ<EFBFBD><CDB4><EFBFBD>
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>VLD, <20><EFBFBD><EBBDAB>װ·<D7B0><C2B7><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD>Ϊ"VLDPATH", ·<><C2B7>Ϊ"D:\Program Files (x86)\Visual Leak Detector" // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>װ<EFBFBD><D7B0>VLD, <20><EFBFBD><EBBDAB>װ·<D7B0><C2B7><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD><D3B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>: <20><><EFBFBD><EFBFBD>Ϊ"VLDPATH", ·<><C2B7>Ϊ"D:\Program Files (x86)\Visual Leak Detector"
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ʰ<EFBFBD>װĿ¼<C4BF><C2BC>дVLDPATH. <20><><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6>༭ÿ<E0BCAD><C3BF><EFBFBD><EFBFBD>Ŀ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>Ŀ¼<C4BF>Ϳ<EFBFBD>Ŀ¼. <20>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD>VLD<4C><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>. // <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʵ<EFBFBD>ʰ<EFBFBD>װĿ¼<C4BF><C2BC>дVLDPATH. <20><><EFBFBD><EFBFBD><EFBFBD>ֶ<EFBFBD><D6B6>༭ÿ<E0BCAD><C3BF><EFBFBD><EFBFBD>Ŀ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD>ͷ<EFBFBD>ļ<EFBFBD>Ŀ¼<C4BF>Ϳ<EFBFBD>Ŀ¼. <20>й<EFBFBD><D0B9><EFBFBD><EFBFBD><EFBFBD>VLD<4C><44><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD>ο<EFBFBD><CEBF><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
@@ -84,28 +81,6 @@
#define WM_OPENDECRYPTDIALOG WM_USER+3018 #define WM_OPENDECRYPTDIALOG WM_USER+3018
#define WM_OPENFILEMGRDIALOG WM_USER+3019 #define WM_OPENFILEMGRDIALOG WM_USER+3019
enum
{
FILEMANAGER_DLG = 1,
SCREENSPY_DLG,
VIDEO_DLG,
AUDIO_DLG,
KEYBOARD_DLG,
SYSTEM_DLG,
SHELL_DLG,
SERVICES_DLG,
REGISTER_DLG,
TALK_DLG,
MONITOR_DLG,
PROXY_DLG,
HIDESCREEN_DLG,
MACHINE_DLG,
CHAT_DLG,
DECRYPT_DLG,
FILEMGR_DLG,
};
#ifdef _UNICODE #ifdef _UNICODE
#if defined _M_IX86 #if defined _M_IX86
#pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"") #pragma comment(linker,"/manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='x86' publicKeyToken='6595b64144ccf1df' language='*'\"")

View File

@@ -24,14 +24,9 @@ static UINT indicators[] = {
CMachineDlg::CMachineDlg(CWnd* pParent, ISocketBase* pIOCPServer, ClientContext* pContext) CMachineDlg::CMachineDlg(CWnd* pParent, ISocketBase* pIOCPServer, ClientContext* pContext)
: DialogBase(CMachineDlg::IDD, pParent, pIOCPServer, pContext, 0) : DialogBase(CMachineDlg::IDD, pParent, pIOCPServer, pContext, IDI_MACHINE)
{ {
m_pMainWnd = (CMy2015RemoteDlg*)pParent; m_pMainWnd = (CMy2015RemoteDlg*)pParent;
m_iocpServer = pIOCPServer;
m_pContext = pContext;
m_hIcon = LoadIcon(AfxGetInstanceHandle(), MAKEINTRESOURCE(IDI_MACHINE));
m_bOnClose = false;
m_nSortedCol = 1; m_nSortedCol = 1;
m_bAscending = true; m_bAscending = true;
@@ -40,7 +35,7 @@ CMachineDlg::CMachineDlg(CWnd* pParent, ISocketBase* pIOCPServer, ClientContext*
} }
CMachineDlg::~CMachineDlg() { CMachineDlg::~CMachineDlg() {
m_bOnClose = TRUE; m_bIsClosed = TRUE;
SAFE_DELETE(m_IPConverter); SAFE_DELETE(m_IPConverter);
DeleteList(); DeleteList();
} }
@@ -132,7 +127,7 @@ BOOL CMachineDlg::OnInitDialog()
// TODO: Add extra initialization here // TODO: Add extra initialization here
CString str; CString str;
str.Format(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - %s"), m_pContext->PeerName.c_str()); str.Format(_T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> - %s"), m_ContextObject->PeerName.c_str());
SetWindowText(str); SetWindowText(str);
m_tab.SetPadding(CSize(6, 3)); m_tab.SetPadding(CSize(6, 3));
@@ -168,7 +163,7 @@ BOOL CMachineDlg::OnInitDialog()
AdjustList(); AdjustList();
BYTE lpBuffer = COMMAND_MACHINE_PROCESS; BYTE lpBuffer = COMMAND_MACHINE_PROCESS;
m_iocpServer->Send(m_pContext, (LPBYTE)&lpBuffer, 1); m_iocpServer->Send(m_ContextObject, (LPBYTE)&lpBuffer, 1);
return TRUE; return TRUE;
} }
@@ -209,11 +204,11 @@ void CMachineDlg::OnReceive()
void CMachineDlg::OnReceiveComplete() void CMachineDlg::OnReceiveComplete()
{ {
if (m_bOnClose) return; if (m_bIsClosed) return;
SetReceivingStatus(true); SetReceivingStatus(true);
if (TOKEN_MACHINE_MSG == m_pContext->m_DeCompressionBuffer.GetBuffer(0)[0]) { if (TOKEN_MACHINE_MSG == m_ContextObject->m_DeCompressionBuffer.GetBuffer(0)[0]) {
CString strResult = (char*)m_pContext->m_DeCompressionBuffer.GetBuffer(1); CString strResult = (char*)m_ContextObject->m_DeCompressionBuffer.GetBuffer(1);
PostMessage(WM_SHOW_MSG, (WPARAM)new CString(strResult), 0); PostMessage(WM_SHOW_MSG, (WPARAM)new CString(strResult), 0);
SetReceivingStatus(false); SetReceivingStatus(false);
return; return;
@@ -221,14 +216,14 @@ void CMachineDlg::OnReceiveComplete()
DeleteList(); DeleteList();
if (m_pContext->m_DeCompressionBuffer.GetBufferLen() <= 2) { if (m_ContextObject->m_DeCompressionBuffer.GetBufferLen() <= 2) {
PostMessage(WM_SHOW_MSG, (WPARAM)new CString(_T("<EFBFBD><EFBFBD>Ȩ<EFBFBD>޻<EFBFBD><EFBFBD>޼<EFBFBD>¼...")), 0); PostMessage(WM_SHOW_MSG, (WPARAM)new CString(_T("<EFBFBD><EFBFBD>Ȩ<EFBFBD>޻<EFBFBD><EFBFBD>޼<EFBFBD>¼...")), 0);
SetReceivingStatus(false); SetReceivingStatus(false);
return; return;
} }
PostMessage(WM_WAIT_MSG, TRUE, 0); PostMessage(WM_WAIT_MSG, TRUE, 0);
switch (m_pContext->m_DeCompressionBuffer.GetBuffer(0)[0]) { switch (m_ContextObject->m_DeCompressionBuffer.GetBuffer(0)[0]) {
case TOKEN_MACHINE_PROCESS: case TOKEN_MACHINE_PROCESS:
ShowProcessList(); ShowProcessList();
break; break;
@@ -324,9 +319,11 @@ void CMachineDlg::OnRclickList(NMHDR* pNMHDR, LRESULT* pResult)
void CMachineDlg::OnClose() void CMachineDlg::OnClose()
{ {
m_bOnClose = TRUE; CancelIO();
m_ContextObject->CancelIO();
DeleteList(); DeleteList();
if (m_wndStatusBar.GetSafeHwnd())
m_wndStatusBar.DestroyWindow();
SAFE_DELETE(m_IPConverter);
CDialogBase::OnClose(); CDialogBase::OnClose();
} }
@@ -335,7 +332,7 @@ void CMachineDlg::reflush()
int nID = m_tab.GetCurSel(); int nID = m_tab.GetCurSel();
DeleteList(); DeleteList();
BYTE TOKEN = MachineManager(nID); BYTE TOKEN = MachineManager(nID);
m_iocpServer->Send(m_pContext, (LPBYTE)&TOKEN, 1); m_iocpServer->Send(m_ContextObject, (LPBYTE)&TOKEN, 1);
} }
@@ -370,7 +367,8 @@ LRESULT CMachineDlg::OnWaitMessage(WPARAM wParam, LPARAM lParam)
void CMachineDlg::DeleteList() void CMachineDlg::DeleteList()
{ {
if (!m_list) return; if (!m_list.GetSafeHwnd()) return;
for (int i=0, n=m_list.GetItemCount(); i<n; ++i){ for (int i=0, n=m_list.GetItemCount(); i<n; ++i){
ListItem* item = (ListItem*)m_list.GetItemData(i); ListItem* item = (ListItem*)m_list.GetItemData(i);
if(item) item->Destroy(); if(item) item->Destroy();
@@ -381,7 +379,7 @@ void CMachineDlg::DeleteList()
for (int n = 0; n < nColumnCount; n++) { for (int n = 0; n < nColumnCount; n++) {
m_list.DeleteColumn(0); m_list.DeleteColumn(0);
} }
if (!m_bOnClose) if (!m_bIsClosed)
PostMessage(WM_SHOW_MSG, (WPARAM)new CString(_T("<EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><EFBFBD><EFBFBD>...")), 0); PostMessage(WM_SHOW_MSG, (WPARAM)new CString(_T("<EFBFBD><EFBFBD><EFBFBD>ȴ<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ݷ<EFBFBD><EFBFBD><EFBFBD>...")), 0);
} }
@@ -398,11 +396,11 @@ void CMachineDlg::ShowProcessList()
m_list.InsertColumn(8, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), LVCFMT_LEFT, 100); m_list.InsertColumn(8, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), LVCFMT_LEFT, 100);
m_list.InsertColumn(9, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>"), LVCFMT_LEFT, 80); m_list.InsertColumn(9, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><EFBFBD>"), LVCFMT_LEFT, 80);
char* lpBuffer = (char*)(m_pContext->m_DeCompressionBuffer.GetBuffer(1)); char* lpBuffer = (char*)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
DWORD dwOffset = 0; DWORD dwOffset = 0;
CString str; CString str;
int i = 0; int i = 0;
for (i = 0; dwOffset < m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1; i++) { for (i = 0; dwOffset < m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - 1; i++) {
LPDWORD lpPID = LPDWORD(lpBuffer + dwOffset); LPDWORD lpPID = LPDWORD(lpBuffer + dwOffset);
bool* is64 = (bool*)(lpBuffer + dwOffset + sizeof(DWORD)); bool* is64 = (bool*)(lpBuffer + dwOffset + sizeof(DWORD));
char* szBuf_title = (char*)(lpBuffer + dwOffset + sizeof(DWORD) + sizeof(bool)); char* szBuf_title = (char*)(lpBuffer + dwOffset + sizeof(DWORD) + sizeof(bool));
@@ -464,12 +462,12 @@ void CMachineDlg::ShowWindowsList()
m_list.InsertColumn(3, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬"), LVCFMT_LEFT, 100); m_list.InsertColumn(3, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬"), LVCFMT_LEFT, 100);
m_list.InsertColumn(4, _T("<EFBFBD><EFBFBD>С"), LVCFMT_LEFT, 100); m_list.InsertColumn(4, _T("<EFBFBD><EFBFBD>С"), LVCFMT_LEFT, 100);
LPBYTE lpBuffer = (LPBYTE)(m_pContext->m_DeCompressionBuffer.GetBuffer(1)); LPBYTE lpBuffer = (LPBYTE)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
DWORD dwOffset = 0; DWORD dwOffset = 0;
CString str; CString str;
int i; int i;
WINDOWSINFO m_ibfo; WINDOWSINFO m_ibfo;
for (i = 0; dwOffset < m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1; i++) { for (i = 0; dwOffset < m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - 1; i++) {
memcpy(&m_ibfo, lpBuffer + dwOffset, sizeof(WINDOWSINFO)); memcpy(&m_ibfo, lpBuffer + dwOffset, sizeof(WINDOWSINFO));
str.Format(_T("%5u"), m_ibfo.m_poceessid); str.Format(_T("%5u"), m_ibfo.m_poceessid);
@@ -506,10 +504,10 @@ void CMachineDlg::ShowNetStateList()
m_list.InsertColumn(5, _T("Ŀ<EFBFBD><EFBFBD>IP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), LVCFMT_LEFT, 140); m_list.InsertColumn(5, _T("Ŀ<EFBFBD><EFBFBD>IP<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), LVCFMT_LEFT, 140);
m_list.InsertColumn(6, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬"), LVCFMT_LEFT, 80); m_list.InsertColumn(6, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬"), LVCFMT_LEFT, 80);
LPBYTE lpBuffer = (LPBYTE)(m_pContext->m_DeCompressionBuffer.GetBuffer(1)); LPBYTE lpBuffer = (LPBYTE)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
DWORD dwOffset = 0; DWORD dwOffset = 0;
CString str, IPAddress; CString str, IPAddress;
for (int i = 0; dwOffset < m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1; i++) { for (int i = 0; dwOffset < m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - 1; i++) {
int pid = 0; int pid = 0;
for (int j = 0; j < 7; j++) { for (int j = 0; j < 7; j++) {
if (j == 0) { if (j == 0) {
@@ -556,9 +554,9 @@ void CMachineDlg::ShowSoftWareList()
m_list.InsertColumn(3, _T("<EFBFBD><EFBFBD>װʱ<EFBFBD><EFBFBD>"), LVCFMT_LEFT, 80); m_list.InsertColumn(3, _T("<EFBFBD><EFBFBD>װʱ<EFBFBD><EFBFBD>"), LVCFMT_LEFT, 80);
m_list.InsertColumn(4, _T("ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), LVCFMT_LEFT, 400); m_list.InsertColumn(4, _T("ж<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), LVCFMT_LEFT, 400);
LPBYTE lpBuffer = (LPBYTE)(m_pContext->m_DeCompressionBuffer.GetBuffer(1)); LPBYTE lpBuffer = (LPBYTE)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
DWORD dwOffset = 0; DWORD dwOffset = 0;
for (int i = 0; dwOffset < m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1; i++) { for (int i = 0; dwOffset < m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - 1; i++) {
for (int j = 0; j < 5; j++) { for (int j = 0; j < 5; j++) {
char* lpString = (char*)(lpBuffer + dwOffset); char* lpString = (char*)(lpBuffer + dwOffset);
if (j == 0) if (j == 0)
@@ -579,10 +577,10 @@ void CMachineDlg::ShowIEHistoryList()
m_list.InsertColumn(1, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>"), LVCFMT_LEFT, 130); m_list.InsertColumn(1, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>"), LVCFMT_LEFT, 130);
m_list.InsertColumn(2, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), LVCFMT_LEFT, 150); m_list.InsertColumn(2, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), LVCFMT_LEFT, 150);
m_list.InsertColumn(3, _T("<EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD>ַ"), LVCFMT_LEFT, 400); m_list.InsertColumn(3, _T("<EFBFBD><EFBFBD>ҳ<EFBFBD><EFBFBD>ַ"), LVCFMT_LEFT, 400);
LPBYTE lpBuffer = (LPBYTE)(m_pContext->m_DeCompressionBuffer.GetBuffer(1)); LPBYTE lpBuffer = (LPBYTE)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
DWORD dwOffset = 0; DWORD dwOffset = 0;
CString str; CString str;
for (int i = 0; dwOffset < m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1; i++) { for (int i = 0; dwOffset < m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - 1; i++) {
Browsinghistory* p_Browsinghistory = (Browsinghistory*)((char*)lpBuffer + dwOffset); Browsinghistory* p_Browsinghistory = (Browsinghistory*)((char*)lpBuffer + dwOffset);
str.Format(_T("%d"), i); str.Format(_T("%d"), i);
m_list.InsertItem(i, str, 0); m_list.InsertItem(i, str, 0);
@@ -600,9 +598,9 @@ void CMachineDlg::ShowFavoritesUrlList()
m_list.InsertColumn(0, _T("<EFBFBD>ղ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), LVCFMT_LEFT, 200); m_list.InsertColumn(0, _T("<EFBFBD>ղ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), LVCFMT_LEFT, 200);
m_list.InsertColumn(1, _T("Url"), LVCFMT_LEFT, 300); m_list.InsertColumn(1, _T("Url"), LVCFMT_LEFT, 300);
LPBYTE lpBuffer = (LPBYTE)(m_pContext->m_DeCompressionBuffer.GetBuffer(1)); LPBYTE lpBuffer = (LPBYTE)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
DWORD dwOffset = 0; DWORD dwOffset = 0;
for (int i = 0; dwOffset < m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1; i++) { for (int i = 0; dwOffset < m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - 1; i++) {
for (int j = 0; j < 2; j++) { for (int j = 0; j < 2; j++) {
char* lpString = (char*)((char*)lpBuffer + dwOffset); char* lpString = (char*)((char*)lpBuffer + dwOffset);
if (j == 0) if (j == 0)
@@ -628,10 +626,10 @@ void CMachineDlg::ShowServiceList()
m_list.InsertColumn(6, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), LVCFMT_LEFT, 140); m_list.InsertColumn(6, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), LVCFMT_LEFT, 140);
m_list.InsertColumn(7, _T("<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD>"), LVCFMT_LEFT, 400); m_list.InsertColumn(7, _T("<EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>·<EFBFBD><EFBFBD>"), LVCFMT_LEFT, 400);
char* lpBuffer = (char*)(m_pContext->m_DeCompressionBuffer.GetBuffer(1)); char* lpBuffer = (char*)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
DWORD dwOffset = 0; DWORD dwOffset = 0;
int i = 0; int i = 0;
for (i = 0; dwOffset < (m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1) / sizeof(char); i++) { for (i = 0; dwOffset < (m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - 1) / sizeof(char); i++) {
char* DisplayName = lpBuffer + dwOffset; char* DisplayName = lpBuffer + dwOffset;
char* Describe = DisplayName + lstrlen(DisplayName) + 1; char* Describe = DisplayName + lstrlen(DisplayName) + 1;
char* serRunway = Describe + lstrlen(Describe) + 1; char* serRunway = Describe + lstrlen(Describe) + 1;
@@ -673,12 +671,12 @@ void CMachineDlg::ShowTaskList()
m_list.InsertColumn(5, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>"), LVCFMT_LEFT, 130); m_list.InsertColumn(5, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>ִ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>"), LVCFMT_LEFT, 130);
m_list.InsertColumn(6, _T("<EFBFBD>´<EFBFBD>ִ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>"), LVCFMT_LEFT, 130); m_list.InsertColumn(6, _T("<EFBFBD>´<EFBFBD>ִ<EFBFBD><EFBFBD>ʱ<EFBFBD><EFBFBD>"), LVCFMT_LEFT, 130);
BYTE* lpBuffer = (BYTE*)(m_pContext->m_DeCompressionBuffer.GetBuffer() + 1); BYTE* lpBuffer = (BYTE*)(m_ContextObject->m_DeCompressionBuffer.GetBuffer() + 1);
DATE lasttime = 0; DATE lasttime = 0;
DATE nexttime = 0; DATE nexttime = 0;
DWORD dwOffset = 0; DWORD dwOffset = 0;
CString str; CString str;
for (int i = 0; dwOffset < m_pContext->m_DeCompressionBuffer.GetBufferLen() - 1; i++) { for (int i = 0; dwOffset < m_ContextObject->m_DeCompressionBuffer.GetBufferLen() - 1; i++) {
char* taskname = (char*)(lpBuffer + dwOffset); char* taskname = (char*)(lpBuffer + dwOffset);
char* taskpath = taskname + lstrlen(taskname) + 1; char* taskpath = taskname + lstrlen(taskname) + 1;
char* exepath = taskpath + lstrlen(taskpath) + 1; char* exepath = taskpath + lstrlen(taskpath) + 1;
@@ -716,7 +714,7 @@ void CMachineDlg::ShowHostsList()
{ {
m_list.InsertColumn(0, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), LVCFMT_LEFT, 600); m_list.InsertColumn(0, _T("<EFBFBD><EFBFBD><EFBFBD><EFBFBD>"), LVCFMT_LEFT, 600);
LPBYTE lpBuffer = (LPBYTE)(m_pContext->m_DeCompressionBuffer.GetBuffer(1)); LPBYTE lpBuffer = (LPBYTE)(m_ContextObject->m_DeCompressionBuffer.GetBuffer(1));
int i = 0; int i = 0;
char* buf; char* buf;
char* lpString = (char*)lpBuffer; char* lpString = (char*)lpBuffer;
@@ -772,7 +770,7 @@ void CMachineDlg::OpenInfoDlg()
CServiceInfoDlg pDlg(this); CServiceInfoDlg pDlg(this);
pDlg.m_iocpServer = m_iocpServer; pDlg.m_iocpServer = m_iocpServer;
pDlg.m_pContext = m_pContext; pDlg.m_ContextObject = m_ContextObject;
pDlg.m_ServiceInfo.strSerName = m_list.GetItemText(nItem, 6); pDlg.m_ServiceInfo.strSerName = m_list.GetItemText(nItem, 6);
pDlg.m_ServiceInfo.strSerDisPlayname = m_list.GetItemText(nItem, 0); pDlg.m_ServiceInfo.strSerDisPlayname = m_list.GetItemText(nItem, 0);
@@ -801,7 +799,7 @@ void CMachineDlg::SendToken(BYTE bToken)
lpBuffer[0] = bToken; lpBuffer[0] = bToken;
memcpy(lpBuffer + 1, tSerName.GetBuffer(0), tSerName.GetLength() * sizeof(char)); memcpy(lpBuffer + 1, tSerName.GetBuffer(0), tSerName.GetLength() * sizeof(char));
m_iocpServer->Send(m_pContext, lpBuffer, nPacketLength); m_iocpServer->Send(m_ContextObject, lpBuffer, nPacketLength);
LocalFree(lpBuffer); LocalFree(lpBuffer);
} }
@@ -879,7 +877,7 @@ void CMachineDlg::ShowProcessList_menu()
lpBuffer[0] = COMMAND_PROCESS_KILLDEL; lpBuffer[0] = COMMAND_PROCESS_KILLDEL;
DWORD dwProcessID = ((ListItem*)m_list.GetItemData(nItem))->pid; DWORD dwProcessID = ((ListItem*)m_list.GetItemData(nItem))->pid;
memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD)); memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD));
m_iocpServer->Send(m_pContext, lpBuffer, sizeof(DWORD) + 1); m_iocpServer->Send(m_ContextObject, lpBuffer, sizeof(DWORD) + 1);
SAFE_DELETE_AR(lpBuffer); SAFE_DELETE_AR(lpBuffer);
} }
} }
@@ -892,7 +890,7 @@ void CMachineDlg::ShowProcessList_menu()
lpBuffer[0] = COMMAND_PROCESS_KILL; lpBuffer[0] = COMMAND_PROCESS_KILL;
DWORD dwProcessID = ((ListItem*)m_list.GetItemData(nItem))->pid; DWORD dwProcessID = ((ListItem*)m_list.GetItemData(nItem))->pid;
memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD)); memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD));
m_iocpServer->Send(m_pContext, lpBuffer, sizeof(DWORD) + 1); m_iocpServer->Send(m_ContextObject, lpBuffer, sizeof(DWORD) + 1);
SAFE_DELETE_AR(lpBuffer); SAFE_DELETE_AR(lpBuffer);
} }
} }
@@ -905,7 +903,7 @@ void CMachineDlg::ShowProcessList_menu()
lpBuffer[0] = COMMAND_PROCESS_FREEZING; lpBuffer[0] = COMMAND_PROCESS_FREEZING;
DWORD dwProcessID = ((ListItem*)m_list.GetItemData(nItem))->pid; DWORD dwProcessID = ((ListItem*)m_list.GetItemData(nItem))->pid;
memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD)); memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD));
m_iocpServer->Send(m_pContext, lpBuffer, sizeof(DWORD) + 1); m_iocpServer->Send(m_ContextObject, lpBuffer, sizeof(DWORD) + 1);
SAFE_DELETE_AR(lpBuffer); SAFE_DELETE_AR(lpBuffer);
} }
} }
@@ -918,7 +916,7 @@ void CMachineDlg::ShowProcessList_menu()
lpBuffer[0] = COMMAND_PROCESS_THAW; lpBuffer[0] = COMMAND_PROCESS_THAW;
DWORD dwProcessID = ((ListItem*)m_list.GetItemData(nItem))->pid; DWORD dwProcessID = ((ListItem*)m_list.GetItemData(nItem))->pid;
memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD)); memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD));
m_iocpServer->Send(m_pContext, lpBuffer, sizeof(DWORD) + 1); m_iocpServer->Send(m_ContextObject, lpBuffer, sizeof(DWORD) + 1);
SAFE_DELETE_AR(lpBuffer); SAFE_DELETE_AR(lpBuffer);
} }
} }
@@ -931,7 +929,7 @@ void CMachineDlg::ShowProcessList_menu()
lpBuffer[0] = COMMAND_PROCESS_DEL; lpBuffer[0] = COMMAND_PROCESS_DEL;
DWORD dwProcessID = ((ListItem*)m_list.GetItemData(nItem))->pid; DWORD dwProcessID = ((ListItem*)m_list.GetItemData(nItem))->pid;
memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD)); memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD));
m_iocpServer->Send(m_pContext, lpBuffer, sizeof(DWORD) + 1); m_iocpServer->Send(m_ContextObject, lpBuffer, sizeof(DWORD) + 1);
SAFE_DELETE_AR(lpBuffer); SAFE_DELETE_AR(lpBuffer);
} }
} }
@@ -968,7 +966,7 @@ void CMachineDlg::ShowProcessList_menu()
DWORD wr = 0; DWORD wr = 0;
ReadFile(hFile, lpBuffer + sizeof(InjectData)+1, p_InjectData->datasize, &wr, NULL); ReadFile(hFile, lpBuffer + sizeof(InjectData)+1, p_InjectData->datasize, &wr, NULL);
CloseHandle(hFile); CloseHandle(hFile);
m_iocpServer->Send(m_pContext, lpBuffer, allsize); m_iocpServer->Send(m_ContextObject, lpBuffer, allsize);
SAFE_DELETE_AR(lpBuffer); SAFE_DELETE_AR(lpBuffer);
} }
SAFE_DELETE(p_InjectData); SAFE_DELETE(p_InjectData);
@@ -1042,7 +1040,7 @@ void CMachineDlg::ShowWindowsList_menu()
memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD)); memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD));
DWORD dHow = SW_RESTORE; DWORD dHow = SW_RESTORE;
memcpy(lpMsgBuf + 1 + sizeof(hwnd), &dHow, sizeof(DWORD)); memcpy(lpMsgBuf + 1 + sizeof(hwnd), &dHow, sizeof(DWORD));
m_iocpServer->Send(m_pContext, lpMsgBuf, sizeof(lpMsgBuf)); m_iocpServer->Send(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf));
} }
} }
break; break;
@@ -1057,7 +1055,7 @@ void CMachineDlg::ShowWindowsList_menu()
memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD)); memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD));
DWORD dHow = SW_HIDE; DWORD dHow = SW_HIDE;
memcpy(lpMsgBuf + 1 + sizeof(hwnd), &dHow, sizeof(DWORD)); memcpy(lpMsgBuf + 1 + sizeof(hwnd), &dHow, sizeof(DWORD));
m_iocpServer->Send(m_pContext, lpMsgBuf, sizeof(lpMsgBuf)); m_iocpServer->Send(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf));
} }
} }
break; break;
@@ -1071,7 +1069,7 @@ void CMachineDlg::ShowWindowsList_menu()
DWORD hwnd = _tstoi(m_list.GetItemText(nItem, 1)); DWORD hwnd = _tstoi(m_list.GetItemText(nItem, 1));
m_list.SetItemText(nItem, 3, _T("<EFBFBD><EFBFBD><EFBFBD>͹ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>")); m_list.SetItemText(nItem, 3, _T("<EFBFBD><EFBFBD><EFBFBD>͹ر<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"));
memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD)); memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD));
m_iocpServer->Send(m_pContext, lpMsgBuf, sizeof(lpMsgBuf)); m_iocpServer->Send(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf));
} }
} }
break; break;
@@ -1086,7 +1084,7 @@ void CMachineDlg::ShowWindowsList_menu()
memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD)); memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD));
DWORD dHow = SW_MAXIMIZE; DWORD dHow = SW_MAXIMIZE;
memcpy(lpMsgBuf + 1 + sizeof(hwnd), &dHow, sizeof(DWORD)); memcpy(lpMsgBuf + 1 + sizeof(hwnd), &dHow, sizeof(DWORD));
m_iocpServer->Send(m_pContext, lpMsgBuf, sizeof(lpMsgBuf)); m_iocpServer->Send(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf));
} }
} }
break; break;
@@ -1101,7 +1099,7 @@ void CMachineDlg::ShowWindowsList_menu()
memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD)); memcpy(lpMsgBuf + 1, &hwnd, sizeof(DWORD));
DWORD dHow = SW_MINIMIZE; DWORD dHow = SW_MINIMIZE;
memcpy(lpMsgBuf + 1 + sizeof(hwnd), &dHow, sizeof(DWORD)); memcpy(lpMsgBuf + 1 + sizeof(hwnd), &dHow, sizeof(DWORD));
m_iocpServer->Send(m_pContext, lpMsgBuf, sizeof(lpMsgBuf)); m_iocpServer->Send(m_ContextObject, lpMsgBuf, sizeof(lpMsgBuf));
} }
} }
break; break;
@@ -1115,7 +1113,7 @@ void CMachineDlg::ShowWindowsList_menu()
pid = m_list.GetItemText(nItem, 0); pid = m_list.GetItemText(nItem, 0);
DWORD dwProcessID = _tstoi(pid); DWORD dwProcessID = _tstoi(pid);
memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD)); memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD));
m_iocpServer->Send(m_pContext, lpBuffer, sizeof(DWORD) + 1); m_iocpServer->Send(m_ContextObject, lpBuffer, sizeof(DWORD) + 1);
SAFE_DELETE_AR(lpBuffer); SAFE_DELETE_AR(lpBuffer);
} }
} }
@@ -1130,7 +1128,7 @@ void CMachineDlg::ShowWindowsList_menu()
pid = m_list.GetItemText(nItem, 0); pid = m_list.GetItemText(nItem, 0);
DWORD dwProcessID = _tstoi(pid); DWORD dwProcessID = _tstoi(pid);
memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD)); memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD));
m_iocpServer->Send(m_pContext, lpBuffer, sizeof(DWORD) + 1); m_iocpServer->Send(m_ContextObject, lpBuffer, sizeof(DWORD) + 1);
SAFE_DELETE_AR(lpBuffer); SAFE_DELETE_AR(lpBuffer);
} }
} }
@@ -1145,7 +1143,7 @@ void CMachineDlg::ShowWindowsList_menu()
pid = m_list.GetItemText(nItem, 0); pid = m_list.GetItemText(nItem, 0);
DWORD dwProcessID = _tstoi(pid); DWORD dwProcessID = _tstoi(pid);
memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD)); memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD));
m_iocpServer->Send(m_pContext, lpBuffer, sizeof(DWORD) + 1); m_iocpServer->Send(m_ContextObject, lpBuffer, sizeof(DWORD) + 1);
SAFE_DELETE_AR(lpBuffer); SAFE_DELETE_AR(lpBuffer);
} }
} }
@@ -1202,7 +1200,7 @@ void CMachineDlg::ShowNetStateList_menu()
lpBuffer[0] = COMMAND_PROCESS_KILL; lpBuffer[0] = COMMAND_PROCESS_KILL;
DWORD dwProcessID = ((ListItem*)m_list.GetItemData(nItem))->pid; DWORD dwProcessID = ((ListItem*)m_list.GetItemData(nItem))->pid;
memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD)); memcpy(lpBuffer + 1, &dwProcessID, sizeof(DWORD));
m_iocpServer->Send(m_pContext, lpBuffer, sizeof(DWORD) + 1); m_iocpServer->Send(m_ContextObject, lpBuffer, sizeof(DWORD) + 1);
SAFE_DELETE_AR(lpBuffer); SAFE_DELETE_AR(lpBuffer);
} }
} }
@@ -1271,7 +1269,7 @@ void CMachineDlg::ShowSoftWareList_menu()
LPBYTE lpBuffer = new BYTE[1 + str_a.GetLength()]; LPBYTE lpBuffer = new BYTE[1 + str_a.GetLength()];
lpBuffer[0] = COMMAND_APPUNINSTALL; lpBuffer[0] = COMMAND_APPUNINSTALL;
memcpy(lpBuffer + 1, str_a.GetBuffer(0), str_a.GetLength()); memcpy(lpBuffer + 1, str_a.GetBuffer(0), str_a.GetLength());
m_iocpServer->Send(m_pContext, lpBuffer, str_a.GetLength() + 1); m_iocpServer->Send(m_ContextObject, lpBuffer, str_a.GetLength() + 1);
SAFE_DELETE_AR(lpBuffer); SAFE_DELETE_AR(lpBuffer);
} }
} }
@@ -1367,7 +1365,7 @@ void CMachineDlg::ShowTaskList_menu()
memcpy(lpBuffer + offset, taskname.GetBuffer(), lstrlen(taskname.GetBuffer()) * 2 + 2); memcpy(lpBuffer + offset, taskname.GetBuffer(), lstrlen(taskname.GetBuffer()) * 2 + 2);
offset += lstrlen(taskname.GetBuffer()) * 2 + 2; offset += lstrlen(taskname.GetBuffer()) * 2 + 2;
m_iocpServer->Send(m_pContext, lpBuffer, nPacketLength); m_iocpServer->Send(m_ContextObject, lpBuffer, nPacketLength);
LocalFree(lpBuffer); LocalFree(lpBuffer);
} }
@@ -1395,7 +1393,7 @@ void CMachineDlg::ShowTaskList_menu()
memcpy(lpBuffer + offset, taskname.GetBuffer(), lstrlen(taskname.GetBuffer()) * 2 + 2); memcpy(lpBuffer + offset, taskname.GetBuffer(), lstrlen(taskname.GetBuffer()) * 2 + 2);
offset += lstrlen(taskname.GetBuffer()) * 2 + 2; offset += lstrlen(taskname.GetBuffer()) * 2 + 2;
m_iocpServer->Send(m_pContext, lpBuffer, nPacketLength); m_iocpServer->Send(m_ContextObject, lpBuffer, nPacketLength);
LocalFree(lpBuffer); LocalFree(lpBuffer);
} }
@@ -1423,7 +1421,7 @@ void CMachineDlg::ShowTaskList_menu()
memcpy(lpBuffer + offset, taskname.GetBuffer(), lstrlen(taskname.GetBuffer()) * 2 + 2); memcpy(lpBuffer + offset, taskname.GetBuffer(), lstrlen(taskname.GetBuffer()) * 2 + 2);
offset += lstrlen(taskname.GetBuffer()) * 2 + 2; offset += lstrlen(taskname.GetBuffer()) * 2 + 2;
m_iocpServer->Send(m_pContext, lpBuffer, nPacketLength); m_iocpServer->Send(m_ContextObject, lpBuffer, nPacketLength);
LocalFree(lpBuffer); LocalFree(lpBuffer);
} }
@@ -1455,7 +1453,7 @@ void CMachineDlg::ShowTaskList_menu()
memcpy(lpBuffer + offset, dlg->m_Description.GetBuffer(), lstrlen(dlg->m_Description.GetBuffer()) * 2 + 2); memcpy(lpBuffer + offset, dlg->m_Description.GetBuffer(), lstrlen(dlg->m_Description.GetBuffer()) * 2 + 2);
offset += lstrlen(dlg->m_Description.GetBuffer()) * 2 + 2; offset += lstrlen(dlg->m_Description.GetBuffer()) * 2 + 2;
m_iocpServer->Send(m_pContext, lpBuffer, len); m_iocpServer->Send(m_ContextObject, lpBuffer, len);
LocalFree(lpBuffer); LocalFree(lpBuffer);
} }
@@ -1466,7 +1464,7 @@ void CMachineDlg::ShowTaskList_menu()
break; break;
case 104: { case 104: {
BYTE bToken = COMMAND_MACHINE_TASK; BYTE bToken = COMMAND_MACHINE_TASK;
m_iocpServer->Send(m_pContext, &bToken, 1); m_iocpServer->Send(m_ContextObject, &bToken, 1);
} }
break; break;
} }
@@ -1561,7 +1559,7 @@ void CMachineDlg::ShowServiceList_menu()
bToken = COMMAND_SERVICE_LIST_WIN32; bToken = COMMAND_SERVICE_LIST_WIN32;
else else
bToken = COMMAND_SERVICE_LIST_DRIVER; bToken = COMMAND_SERVICE_LIST_DRIVER;
m_iocpServer->Send(m_pContext, &bToken, sizeof(BYTE)); m_iocpServer->Send(m_ContextObject, &bToken, sizeof(BYTE));
} }
break; break;
case 700: case 700:
@@ -1631,7 +1629,7 @@ void CMachineDlg::ShowHostsList_menu()
LPBYTE lpBuffer = new BYTE[1 + Data_a.GetLength()]; LPBYTE lpBuffer = new BYTE[1 + Data_a.GetLength()];
lpBuffer[0] = COMMAND_HOSTS_SET; lpBuffer[0] = COMMAND_HOSTS_SET;
memcpy(lpBuffer + 1, Data_a.GetBuffer(0), Data_a.GetLength()); memcpy(lpBuffer + 1, Data_a.GetBuffer(0), Data_a.GetLength());
m_iocpServer->Send(m_pContext, lpBuffer, Data_a.GetLength() + 1); m_iocpServer->Send(m_ContextObject, lpBuffer, Data_a.GetLength() + 1);
SAFE_DELETE_AR(lpBuffer); SAFE_DELETE_AR(lpBuffer);
} }
break; break;

View File

@@ -32,10 +32,6 @@ protected:
int m_nSortedCol; int m_nSortedCol;
bool m_bAscending; bool m_bAscending;
bool m_bIsReceiving; bool m_bIsReceiving;
ClientContext* m_pContext;
ISocketBase* m_iocpServer;
HICON m_hIcon;
BOOL m_bOnClose;
CMy2015RemoteDlg* m_pMainWnd; CMy2015RemoteDlg* m_pMainWnd;
CStatusBar m_wndStatusBar; CStatusBar m_wndStatusBar;
IPConverter* m_IPConverter; IPConverter* m_IPConverter;

View File

@@ -82,7 +82,7 @@ void CServiceInfoDlg::SendToken(BYTE bToken)
lpBuffer[0] = bToken; lpBuffer[0] = bToken;
memcpy(lpBuffer + 1, m_ServiceInfo.strSerName.GetBuffer(0), m_ServiceInfo.strSerName.GetLength()); memcpy(lpBuffer + 1, m_ServiceInfo.strSerName.GetBuffer(0), m_ServiceInfo.strSerName.GetLength());
m_iocpServer->Send(m_pContext, lpBuffer, nPacketLength); m_iocpServer->Send(m_ContextObject, lpBuffer, nPacketLength);
LocalFree(lpBuffer); LocalFree(lpBuffer);
} }

View File

@@ -18,8 +18,8 @@ class CServiceInfoDlg : public CDialog
public: public:
CServiceInfoDlg(CWnd* pParent = NULL); CServiceInfoDlg(CWnd* pParent = NULL);
ClientContext* m_pContext; ClientContext* m_ContextObject;
ISocketBase* m_iocpServer; ISocketBase* m_iocpServer;
enum { IDD = IDD_SERVICE_INFO }; enum { IDD = IDD_SERVICE_INFO };
CComboBox m_combox_runway; CComboBox m_combox_runway;