2019-01-05 20:21:43 +08:00
// stdafx.h : <20> <> ϵͳ<CFB5> <CDB3> <EFBFBD> <EFBFBD> <EFBFBD> ļ<EFBFBD> <C4BC> İ<EFBFBD> <C4B0> <EFBFBD> <EFBFBD> ļ<EFBFBD> <C4BC> <EFBFBD>
// <20> <> <EFBFBD> Ǿ<EFBFBD> <C7BE> <EFBFBD> ʹ <EFBFBD> õ<EFBFBD> <C3B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ĵ<EFBFBD>
// <20> ض<EFBFBD> <D8B6> <EFBFBD> <EFBFBD> <EFBFBD> Ŀ<EFBFBD> İ<EFBFBD> <C4B0> <EFBFBD> <EFBFBD> ļ<EFBFBD>
# pragma once
2025-02-07 18:59:15 +08:00
# define USING_ZSTD 1
2019-01-17 20:41:51 +08:00
2019-01-05 20:21:43 +08:00
# ifndef _SECURE_ATL
# define _SECURE_ATL 1
# endif
# ifndef VC_EXTRALEAN
# define VC_EXTRALEAN // <20> <> Windows ͷ<> <CDB7> <EFBFBD> ų<EFBFBD> <C5B3> <EFBFBD> <EFBFBD> <EFBFBD> ʹ <EFBFBD> õ<EFBFBD> <C3B5> <EFBFBD> <EFBFBD> <EFBFBD>
# endif
2019-01-13 00:04:50 +08:00
// <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
2025-07-19 16:18:56 +08:00
# ifdef _DEBUG
2019-01-05 20:21:43 +08:00
// <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ڴ<EFBFBD> й©<D0B9> <C2A9> <EFBFBD> 谲װVLD<4C> <44> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ע<EFBFBD> ʹ <EFBFBD> <CDB4> <EFBFBD>
2024-09-06 15:59:24 +08:00
// <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> .
// VS2017<31> <37> ǰ<EFBFBD> 汾<EFBFBD> <E6B1BE> VLD: https://kinddragon.github.io/vld
// VS2019ʹ <39> õ<EFBFBD> VLD<4C> <44> ֧<EFBFBD> <D6A7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> VS<56> 汾, <20> Ƽ <EFBFBD> <C6BC> <EFBFBD> : https://github.com/oneiric/vld/releases/tag/v2.7.0
// <20> <> <EFBFBD> <EFBFBD> Ҫ<EFBFBD> <D2AA> <EFBFBD> ܿض˳<D8B6> <CBB3> <EFBFBD> <EFBFBD> ŵ<EFBFBD> <C5B5> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> , <20> <> ʹ <EFBFBD> <CAB9> Releaseģʽ <C4A3> <CABD> <EFBFBD> ɵij<C9B5> <C4B3> <EFBFBD> , <20> Խ<EFBFBD> <D4BD> <EFBFBD> <EFBFBD> <EFBFBD> VLD<4C> <44> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ; <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ҫ<EFBFBD> <D2AA> VLD<4C> <44> <EFBFBD> <EFBFBD> <EFBFBD> ļ<EFBFBD> һ ͬ<D2BB> <CDAC> <EFBFBD> <EFBFBD> .
2024-12-29 23:33:33 +08:00
// <20> <> <EFBFBD> <EFBFBD> VLD<4C> <44> ʾ <EFBFBD> <CABE> <EFBFBD> <EFBFBD> й¶<D0B9> <C2B6> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ٲ<EFBFBD> <D9B2> ˺<EFBFBD> <CBBA> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ö<EFBFBD> ջ<EFBFBD> <D5BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʹ <EFBFBD> ÷<EFBFBD> <C3B7> ŷ<EFBFBD> <C5B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Զ<EFBFBD> <D4B6> <EFBFBD> <EFBFBD> ء<EFBFBD> <D8A1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Գ<EFBFBD> <D4B3> <EFBFBD> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
// ȷ<> <C8B7> <EFBFBD> <EFBFBD> <EFBFBD> ĵ<EFBFBD> <C4B5> Թ<EFBFBD> <D4B9> ߣ<EFBFBD> <DFA3> <EFBFBD> Visual Studio <20> <> WinDbg<62> <67> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ˷<EFBFBD> <CBB7> ŷ<EFBFBD> <C5B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
// <20> <> <EFBFBD> ŷ<EFBFBD> <C5B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Զ<EFBFBD> <D4B6> <EFBFBD> <EFBFBD> <EFBFBD> ȱʧ<C8B1> ķ<EFBFBD> <C4B7> <EFBFBD> <EFBFBD> ļ<EFBFBD> <C4BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> dbghelp.pdb<64> <62> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 仺<EFBFBD> 浽<EFBFBD> <E6B5BD> <EFBFBD> ط<EFBFBD> <D8B7> <EFBFBD> ·<EFBFBD> <C2B7> <EFBFBD> <EFBFBD>
// <20> <> <EFBFBD> ÷<EFBFBD> <C3B7> ŷ<EFBFBD> <C5B7> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Visual Studio Ϊ<> <CEAA> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Visual Studio <20> У <EFBFBD> <D0A3> <EFBFBD> <EFBFBD> <EFBFBD> <20> <> <EFBFBD> <EFBFBD> > ѡ <> <D1A1> > <20> <> <EFBFBD> š<EFBFBD>
// <20> <> ѡ Microsoft Symbol Servers. ָ<> <D6B8> <EFBFBD> <EFBFBD> <EFBFBD> Ż<EFBFBD> <C5BB> <EFBFBD> Ŀ¼<C4BF> <C2BC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> "C:\Symbols"<22> <>
// <20> <> <EFBFBD> <EFBFBD> ʱ<EFBFBD> <CAB1> ȱʧ<C8B1> ķ<EFBFBD> <C4B7> ţ<EFBFBD> <C5A3> <EFBFBD> dbghelp.pdb<64> <62> <EFBFBD> <EFBFBD> <EFBFBD> Զ<EFBFBD> <D4B6> <EFBFBD> <EFBFBD> ص<EFBFBD> <D8B5> <EFBFBD> <EFBFBD> <EFBFBD> Ŀ¼<C4BF> <C2BC>
2019-01-05 20:21:43 +08:00
# include "vld.h"
2025-07-19 16:18:56 +08:00
# ifndef VLD_RPTHOOK_REMOVE
# error <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ڴ<EFBFBD> й©<D0B9> <C2A9> <EFBFBD> 谲װVLD<4C> <44> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ע<EFBFBD> <D7A2> #include "vld.h"<22> <> <EFBFBD> <EFBFBD> ʹ <EFBFBD> <CAB9> Release<73> <65> <EFBFBD> <EFBFBD>
# endif
# endif
2019-01-05 20:21:43 +08:00
# include "targetver.h"
# define _ATL_CSTRING_EXPLICIT_CONSTRUCTORS // ijЩ CString <20> <> <EFBFBD> 캯<EFBFBD> <ECBAAF> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ʽ <EFBFBD> <CABD>
// <20> ر<EFBFBD> MFC <20> <> ijЩ<C4B3> <D0A9> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ɷ<EFBFBD> <C9B7> ĺ<EFBFBD> <C4BA> Եľ<D4B5> <C4BE> <EFBFBD> <EFBFBD> <EFBFBD> Ϣ<EFBFBD> <CFA2> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD>
# define _AFX_ALL_WARNINGS
# include <afxwin.h> // MFC <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ͱ<EFBFBD> <EFBFBD> <D7BC> <EFBFBD> <EFBFBD>
# include <afxext.h> // MFC <20> <> չ
# include <afxdisp.h> // MFC <20> Զ<EFBFBD> <D4B6> <EFBFBD> <EFBFBD> <EFBFBD>
# ifndef _AFX_NO_OLE_SUPPORT
# include <afxdtctl.h> // MFC <20> <> Internet Explorer 4 <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ؼ<EFBFBD> <D8BC> <EFBFBD> ֧<EFBFBD> <D6A7>
# endif
# ifndef _AFX_NO_AFXCMN_SUPPORT
# include <afxcmn.h> // MFC <20> <> Windows <20> <> <EFBFBD> <EFBFBD> <EFBFBD> ؼ<EFBFBD> <D8BC> <EFBFBD> ֧<EFBFBD> <D6A7>
# endif // _AFX_NO_AFXCMN_SUPPORT
# include <afxcontrolbars.h> // <20> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> Ϳ ؼ<CDBF> <D8BC> <EFBFBD> <EFBFBD> <EFBFBD> MFC ֧<> <D6A7>
2025-05-03 17:23:01 +08:00
# define WM_USERTOONLINELIST WM_USER + 3000
# define WM_OPENSCREENSPYDIALOG WM_USER + 3001
# define WM_OPENFILEMANAGERDIALOG WM_USER + 3002
2019-01-05 20:21:43 +08:00
# define WM_OPENTALKDIALOG WM_USER+3003
# define WM_OPENSHELLDIALOG WM_USER+3004
# define WM_OPENSYSTEMDIALOG WM_USER+3005
# define WM_OPENAUDIODIALOG WM_USER+3006
# define WM_OPENSERVICESDIALOG WM_USER+3007
# define WM_OPENREGISTERDIALOG WM_USER+3008
# define WM_OPENWEBCAMDIALOG WM_USER+3009
# define WM_USEROFFLINEMSG WM_USER+3010
2025-02-25 03:43:15 +08:00
# define WM_HANDLEMESSAGE WM_USER+3011
2025-01-31 22:22:16 +08:00
# define WM_OPENKEYBOARDDIALOG WM_USER+3012
2025-05-03 17:23:01 +08:00
# define WM_UPXTASKRESULT WM_USER+3013
2025-05-03 20:57:22 +08:00
# define WM_OPENPROXYDIALOG WM_USER+3014
2025-06-08 15:38:41 +08:00
# define WM_OPENHIDESCREENDLG WM_USER+3015
# define WM_OPENMACHINEMGRDLG WM_USER+3016
2025-06-08 23:49:19 +08:00
# define WM_OPENCHATDIALOG WM_USER+3017
2025-06-09 14:25:37 +08:00
# define WM_OPENDECRYPTDIALOG WM_USER+3018
2025-06-28 22:26:45 +08:00
# define WM_OPENFILEMGRDIALOG WM_USER+3019
2025-07-05 22:26:01 +08:00
# define WM_OPENDRAWINGBOARD WM_USER+3020
2025-07-19 03:36:59 +08:00
# define WM_PASSWORDCHECK WM_USER+3021
2025-07-24 04:20:39 +08:00
# define WM_SHOWMESSAGE WM_USER+3022
2025-07-31 19:45:46 +08:00
# define WM_SHOWERRORMSG WM_USER+3023
2025-10-20 03:56:54 +08:00
# define WM_SESSION_ACTIVATED WM_USER+3024
2025-11-15 04:19:24 +08:00
# define WM_INJECT_SHELLCODE WM_USER+3025
# define WM_SHARE_CLIENT WM_USER+3026
# define WM_ASSIGN_CLIENT WM_USER+3027
# define WM_ASSIGN_ALLCLIENT WM_USER+3028
2019-01-05 20:21:43 +08:00
# ifdef _UNICODE
# 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='*'\"")
# elif defined _M_X64
# pragma comment(linker," / manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='amd64' publicKeyToken='6595b64144ccf1df' language='*'\"")
# else
# pragma comment(linker," / manifestdependency:\"type='win32' name='Microsoft.Windows.Common-Controls' version='6.0.0.0' processorArchitecture='*' publicKeyToken='6595b64144ccf1df' language='*'\"")
# endif
# endif
# include <assert.h>
# include <MMSystem.h>
# pragma comment(lib, "winmm.lib")
2025-06-08 15:38:41 +08:00
# ifndef SAFE_DELETE
# define SAFE_DELETE(p) if(NULL !=(p)){ delete (p);(p) = NULL;}
# endif
# ifndef SAFE_DELETE_ARRAY
# define SAFE_DELETE_ARRAY(p) if(NULL !=(p)){ delete[] (p);(p) = NULL;}
# endif
# ifndef SAFE_DELETE_AR
# define SAFE_DELETE_AR(p) if(NULL !=(p)){ delete[] (p);(p) = NULL;}
# endif
2025-03-15 21:37:23 +08:00
2025-05-09 03:09:25 +08:00
# include "common/locker.h"
2025-06-08 15:38:41 +08:00
# include "common/logger.h"
2025-03-13 23:34:33 +08:00
# include "common/commands.h"
2025-06-08 15:38:41 +08:00
# define SAFE_CANCELIO(p) if (INVALID_SOCKET != (p)){ CancelIo((HANDLE)(p)); closesocket((SOCKET)(p)); (p) = INVALID_SOCKET; }