修复文件管理对话框崩溃的缺陷
非模态的文件管理对话框在关闭时需要析构,但是这导致2次打开后再关闭时崩溃,该缺陷已修复。
This commit is contained in:
@@ -52,3 +52,9 @@
|
|||||||
3、发现服务端需要采用默认英文输入法,才能在远程桌面输入中文(怀疑本地输入法截获消息)。
|
3、发现服务端需要采用默认英文输入法,才能在远程桌面输入中文(怀疑本地输入法截获消息)。
|
||||||
|
|
||||||
4、添加崩溃时写dump文件的代码。
|
4、添加崩溃时写dump文件的代码。
|
||||||
|
|
||||||
|
2019.1.11
|
||||||
|
|
||||||
|
1、修复文件管理对话框多次打开崩溃的问题(【遗留问题】)。
|
||||||
|
|
||||||
|
2、遗留问题:远程cmd窗口总是将输入命令输出2次、文件对话框的菜单操作可能已失效。
|
||||||
|
|||||||
@@ -84,9 +84,6 @@ LPBYTE CSystemManager::GetProcessList()
|
|||||||
//<2F><EFBFBD><F2BFAABD>̲<EFBFBD><CCB2><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
|
//<2F><EFBFBD><F2BFAABD>̲<EFBFBD><CCB2><EFBFBD><EFBFBD>ؾ<EFBFBD><D8BE><EFBFBD>
|
||||||
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,
|
hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,
|
||||||
FALSE, pe32.th32ProcessID); //<2F><><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
FALSE, pe32.th32ProcessID); //<2F><><EFBFBD><EFBFBD>Ŀ<EFBFBD><C4BF><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
// if ((pe32.th32ProcessID !=0) &&
|
|
||||||
// (pe32.th32ProcessID !=4))
|
|
||||||
{
|
{
|
||||||
//ö<>ٵ<EFBFBD>һ<EFBFBD><D2BB>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD>ǵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
|
//ö<>ٵ<EFBFBD>һ<EFBFBD><D2BB>ģ<EFBFBD><C4A3><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҳ<EFBFBD><D2B2><EFBFBD>ǵ<EFBFBD>ǰ<EFBFBD><C7B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><C2B7>
|
||||||
EnumProcessModules(hProcess, &hModules, sizeof(hModules), &cbNeeded);
|
EnumProcessModules(hProcess, &hModules, sizeof(hModules), &cbNeeded);
|
||||||
@@ -240,7 +237,6 @@ LPBYTE CSystemManager::GetWindowsList()
|
|||||||
EnumWindows((WNDENUMPROC)EnumWindowsProc, (LPARAM)&szBuffer); //ע<>ắ<EFBFBD><E1BAAF>
|
EnumWindows((WNDENUMPROC)EnumWindowsProc, (LPARAM)&szBuffer); //ע<>ắ<EFBFBD><E1BAAF>
|
||||||
//<2F><><EFBFBD><EFBFBD>API<50><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD><D0BA><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
//<2F><><EFBFBD><EFBFBD>API<50><49><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>к<EFBFBD><D0BA><EFBFBD>ָ<EFBFBD><D6B8><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳע<CDB3><D7A2>һ<EFBFBD><D2BB> <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳע<CDB3><D7A2>һ<EFBFBD><D2BB> <20>ص<EFBFBD><D8B5><EFBFBD><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
szBuffer[0] = TOKEN_WSLIST;
|
szBuffer[0] = TOKEN_WSLIST;
|
||||||
return szBuffer;
|
return szBuffer;
|
||||||
}
|
}
|
||||||
@@ -260,7 +256,6 @@ BOOL CALLBACK CSystemManager::EnumWindowsProc(HWND hWnd, LPARAM lParam) //Ҫ
|
|||||||
if (!IsWindowVisible(hWnd) || lstrlen(szTitle) == 0)
|
if (!IsWindowVisible(hWnd) || lstrlen(szTitle) == 0)
|
||||||
return true;
|
return true;
|
||||||
//ͬ<><CDAC><EFBFBD>̹<EFBFBD><CCB9><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7>͵<EFBFBD><CDB5><EFBFBD><EFBFBD>ض˵<D8B6><CBB5><EFBFBD><EFBFBD>ݽṹ
|
//ͬ<><CDAC><EFBFBD>̹<EFBFBD><CCB9><EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ע<EFBFBD><D7A2><EFBFBD><EFBFBD><EFBFBD>ķ<EFBFBD><C4B7>͵<EFBFBD><CDB5><EFBFBD><EFBFBD>ض˵<D8B6><CBB5><EFBFBD><EFBFBD>ݽṹ
|
||||||
|
|
||||||
if (szBuffer == NULL)
|
if (szBuffer == NULL)
|
||||||
szBuffer = (LPBYTE)LocalAlloc(LPTR, 1); //<2F><>ʱ<EFBFBD><CAB1><EFBFBD>仺<EFBFBD><E4BBBA><EFBFBD><EFBFBD>
|
szBuffer = (LPBYTE)LocalAlloc(LPTR, 1); //<2F><>ʱ<EFBFBD><CAB1><EFBFBD>仺<EFBFBD><E4BBBA><EFBFBD><EFBFBD>
|
||||||
|
|
||||||
|
|||||||
Binary file not shown.
@@ -180,6 +180,12 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Text Include="..\..\ReadMe.txt" />
|
<Text Include="..\..\ReadMe.txt" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Image Include="res\Bitmap_4.bmp" />
|
||||||
|
<Image Include="res\Bitmap_5.bmp" />
|
||||||
|
<Image Include="res\toolbar1.bmp" />
|
||||||
|
<Image Include="res\toolbar2.bmp" />
|
||||||
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets">
|
<ImportGroup Label="ExtensionTargets">
|
||||||
</ImportGroup>
|
</ImportGroup>
|
||||||
|
|||||||
@@ -274,4 +274,18 @@
|
|||||||
<ItemGroup>
|
<ItemGroup>
|
||||||
<Text Include="..\..\ReadMe.txt" />
|
<Text Include="..\..\ReadMe.txt" />
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Image Include="res\toolbar1.bmp">
|
||||||
|
<Filter>资源文件</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\Bitmap_4.bmp">
|
||||||
|
<Filter>资源文件</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\toolbar2.bmp">
|
||||||
|
<Filter>资源文件</Filter>
|
||||||
|
</Image>
|
||||||
|
<Image Include="res\Bitmap_5.bmp">
|
||||||
|
<Filter>资源文件</Filter>
|
||||||
|
</Image>
|
||||||
|
</ItemGroup>
|
||||||
</Project>
|
</Project>
|
||||||
@@ -18,12 +18,16 @@
|
|||||||
#include "RegisterDlg.h"
|
#include "RegisterDlg.h"
|
||||||
#include "ServicesDlg.h"
|
#include "ServicesDlg.h"
|
||||||
#include "VideoDlg.h"
|
#include "VideoDlg.h"
|
||||||
|
#include <vector>
|
||||||
|
|
||||||
#ifdef _DEBUG
|
#ifdef _DEBUG
|
||||||
#define new DEBUG_NEW
|
#define new DEBUG_NEW
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#define UM_ICONNOTIFY WM_USER+100
|
#define UM_ICONNOTIFY WM_USER+100
|
||||||
|
|
||||||
|
std::vector<CFileManagerDlg *> v_FileDlg;
|
||||||
|
|
||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
ONLINELIST_IP=0, //IP<49><50><EFBFBD><EFBFBD>˳<EFBFBD><CBB3>
|
ONLINELIST_IP=0, //IP<49><50><EFBFBD><EFBFBD>˳<EFBFBD><CBB3>
|
||||||
@@ -121,6 +125,23 @@ CMy2015RemoteDlg::CMy2015RemoteDlg(CWnd* pParent /*=NULL*/)
|
|||||||
InitializeCriticalSection(&m_cs);
|
InitializeCriticalSection(&m_cs);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
CMy2015RemoteDlg::~CMy2015RemoteDlg()
|
||||||
|
{
|
||||||
|
EnterCriticalSection(&m_cs);
|
||||||
|
for (std::vector<CFileManagerDlg *>::iterator iter = v_FileDlg.begin();
|
||||||
|
iter != v_FileDlg.end(); ++iter)
|
||||||
|
{
|
||||||
|
CFileManagerDlg *cur = *iter;
|
||||||
|
::SendMessage(cur->GetSafeHwnd(), WM_CLOSE, 0, 0);
|
||||||
|
while (false == cur->m_bIsClosed)
|
||||||
|
Sleep(1);
|
||||||
|
delete cur;
|
||||||
|
}
|
||||||
|
LeaveCriticalSection(&m_cs);
|
||||||
|
DeleteCriticalSection(&m_cs);
|
||||||
|
}
|
||||||
|
|
||||||
void CMy2015RemoteDlg::DoDataExchange(CDataExchange* pDX)
|
void CMy2015RemoteDlg::DoDataExchange(CDataExchange* pDX)
|
||||||
{
|
{
|
||||||
CDialogEx::DoDataExchange(pDX);
|
CDialogEx::DoDataExchange(pDX);
|
||||||
@@ -235,7 +256,7 @@ VOID CMy2015RemoteDlg::CreateNotifyBar()
|
|||||||
m_Nid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>е<EFBFBD>״̬
|
m_Nid.uFlags = NIF_MESSAGE | NIF_ICON | NIF_TIP; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>е<EFBFBD>״̬
|
||||||
m_Nid.uCallbackMessage = UM_ICONNOTIFY; //<2F>ص<EFBFBD><D8B5><EFBFBD>Ϣ
|
m_Nid.uCallbackMessage = UM_ICONNOTIFY; //<2F>ص<EFBFBD><D8B5><EFBFBD>Ϣ
|
||||||
m_Nid.hIcon = m_hIcon; //icon <20><><EFBFBD><EFBFBD>
|
m_Nid.hIcon = m_hIcon; //icon <20><><EFBFBD><EFBFBD>
|
||||||
CString strTips ="2015RemoteԶ<EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>........."; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
CString strTips ="<EFBFBD><EFBFBD><EFBFBD><EFBFBD>: Զ<EFBFBD><EFBFBD>Э<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>"; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ
|
||||||
lstrcpyn(m_Nid.szTip, (LPCSTR)strTips, sizeof(m_Nid.szTip) / sizeof(m_Nid.szTip[0]));
|
lstrcpyn(m_Nid.szTip, (LPCSTR)strTips, sizeof(m_Nid.szTip) / sizeof(m_Nid.szTip[0]));
|
||||||
Shell_NotifyIcon(NIM_ADD, &m_Nid); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
Shell_NotifyIcon(NIM_ADD, &m_Nid); //<2F><>ʾ<EFBFBD><CABE><EFBFBD><EFBFBD>
|
||||||
}
|
}
|
||||||
@@ -304,7 +325,7 @@ VOID CMy2015RemoteDlg::InitControl()
|
|||||||
|
|
||||||
m_CList_Message.SetExtendedStyle(LVS_EX_FULLROWSELECT);
|
m_CList_Message.SetExtendedStyle(LVS_EX_FULLROWSELECT);
|
||||||
|
|
||||||
SetTimer(0,3000,NULL);
|
SetTimer(0,3000,NULL); // <20><>ʱ<EFBFBD><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>õ<EFBFBD><C3B5>ļ<EFBFBD><C4BC>Ի<EFBFBD><D4BB><EFBFBD>
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
@@ -366,6 +387,7 @@ BOOL CMy2015RemoteDlg::OnInitDialog()
|
|||||||
CDialogEx::OnInitDialog();
|
CDialogEx::OnInitDialog();
|
||||||
|
|
||||||
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...<2E><><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>ϵͳ<CFB5>˵<EFBFBD><CBB5>С<EFBFBD>
|
// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>...<2E><><EFBFBD>˵<EFBFBD><CBB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӵ<EFBFBD>ϵͳ<CFB5>˵<EFBFBD><CBB5>С<EFBFBD>
|
||||||
|
SetWindowText(_T("Yama"));
|
||||||
|
|
||||||
// IDM_ABOUTBOX <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD>Χ<EEB7B6>ڡ<EFBFBD>
|
// IDM_ABOUTBOX <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵͳ<CFB5><CDB3><EFBFBD>Χ<EEB7B6>ڡ<EFBFBD>
|
||||||
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
|
ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
|
||||||
@@ -543,6 +565,22 @@ void CMy2015RemoteDlg::OnTimer(UINT_PTR nIDEvent)
|
|||||||
|
|
||||||
void CMy2015RemoteDlg::OnClose()
|
void CMy2015RemoteDlg::OnClose()
|
||||||
{
|
{
|
||||||
|
bool bOpened = false;
|
||||||
|
for (std::vector<CFileManagerDlg *>::iterator iter = v_FileDlg.begin();
|
||||||
|
iter != v_FileDlg.end(); ++iter)
|
||||||
|
{
|
||||||
|
CFileManagerDlg *cur = *iter;
|
||||||
|
if (!cur->m_bIsClosed){
|
||||||
|
bOpened = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (bOpened)
|
||||||
|
{
|
||||||
|
MessageBox(_T("<EFBFBD><EFBFBD><EFBFBD>ȹر<EFBFBD><EFBFBD>ļ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!"));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
// 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>ֵ
|
// 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>ֵ
|
||||||
KillTimer(0);
|
KillTimer(0);
|
||||||
|
|
||||||
@@ -702,9 +740,7 @@ VOID CMy2015RemoteDlg::SendSelectedCommand(PBYTE szBuffer, ULONG ulLength)
|
|||||||
//<2F><><EFBFBD><EFBFBD>Bar
|
//<2F><><EFBFBD><EFBFBD>Bar
|
||||||
VOID CMy2015RemoteDlg::OnAbout()
|
VOID CMy2015RemoteDlg::OnAbout()
|
||||||
{
|
{
|
||||||
MessageBox("1","1");
|
MessageBox("Copyleft (c) FTU 2019", "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>");
|
||||||
|
|
||||||
m_ToolBar.SetButtonText(0,"Terminal"); //<2F><>λͼ<CEBB><CDBC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ļ<EFBFBD>
|
|
||||||
}
|
}
|
||||||
|
|
||||||
//<2F><><EFBFBD><EFBFBD>Menu
|
//<2F><><EFBFBD><EFBFBD>Menu
|
||||||
@@ -1095,6 +1131,21 @@ LRESULT CMy2015RemoteDlg::OnOpenFileManagerDialog(WPARAM wParam, LPARAM lParam)
|
|||||||
|
|
||||||
ContextObject->v1 = FILEMANAGER_DLG;
|
ContextObject->v1 = FILEMANAGER_DLG;
|
||||||
ContextObject->hDlg = 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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,10 +24,7 @@ class CMy2015RemoteDlg : public CDialogEx
|
|||||||
// <20><><EFBFBD><EFBFBD>
|
// <20><><EFBFBD><EFBFBD>
|
||||||
public:
|
public:
|
||||||
CMy2015RemoteDlg(CWnd* pParent = NULL); // <20><><EFBFBD><D7BC><EFBFBD>캯<EFBFBD><ECBAAF>
|
CMy2015RemoteDlg(CWnd* pParent = NULL); // <20><><EFBFBD><D7BC><EFBFBD>캯<EFBFBD><ECBAAF>
|
||||||
~CMy2015RemoteDlg()
|
~CMy2015RemoteDlg();
|
||||||
{
|
|
||||||
DeleteCriticalSection(&m_cs);
|
|
||||||
}
|
|
||||||
// <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
// <20>Ի<EFBFBD><D4BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||||
enum { IDD = IDD_MY2015REMOTE_DIALOG };
|
enum { IDD = IDD_MY2015REMOTE_DIALOG };
|
||||||
protected:
|
protected:
|
||||||
|
|||||||
@@ -24,7 +24,8 @@ BOOL CCpuUsage::Init()
|
|||||||
m_pCounterStruct = (PPDHCOUNTERSTRUCT) new PDHCOUNTERSTRUCT;
|
m_pCounterStruct = (PPDHCOUNTERSTRUCT) new PDHCOUNTERSTRUCT;
|
||||||
|
|
||||||
//ͳ<>Ƹ<EFBFBD><C6B8><EFBFBD>Ȥ<EFBFBD><C8A4>ϵͳ<CFB5><CDB3>Ϣʱ<CFA2><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><C8BD><EFBFBD>Ӧ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD>
|
//ͳ<>Ƹ<EFBFBD><C6B8><EFBFBD>Ȥ<EFBFBD><C8A4>ϵͳ<CFB5><CDB3>Ϣʱ<CFA2><CAB1><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ƚ<EFBFBD><C8BD><EFBFBD>Ӧ<EFBFBD>ļ<EFBFBD><C4BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ӽ<EFBFBD><D3BD><EFBFBD>
|
||||||
PDH_STATUS pdh_status = PdhAddCounter(m_hQuery, (LPCSTR)szCounterName, (DWORD) m_pCounterStruct, &(m_pCounterStruct->hCounter));
|
PDH_STATUS pdh_status = PdhAddCounter(m_hQuery, (LPCSTR)szCounterName,
|
||||||
|
(DWORD) m_pCounterStruct, &(m_pCounterStruct->hCounter));
|
||||||
if (ERROR_SUCCESS != pdh_status)
|
if (ERROR_SUCCESS != pdh_status)
|
||||||
{
|
{
|
||||||
return FALSE;
|
return FALSE;
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ CFileManagerDlg::CFileManagerDlg(CWnd* pParent, CIOCPServer* pIOCPServer, Client
|
|||||||
{
|
{
|
||||||
//{{AFX_DATA_INIT(CFileManagerDlg)
|
//{{AFX_DATA_INIT(CFileManagerDlg)
|
||||||
//}}AFX_DATA_INIT
|
//}}AFX_DATA_INIT
|
||||||
|
m_bIsClosed = false;
|
||||||
|
m_ProgressCtrl = NULL;
|
||||||
SHFILEINFO sfi;
|
SHFILEINFO sfi;
|
||||||
SHGetFileInfo
|
SHGetFileInfo
|
||||||
(
|
(
|
||||||
@@ -929,6 +931,8 @@ void CFileManagerDlg::OnClose()
|
|||||||
closesocket(m_pContext->m_Socket);
|
closesocket(m_pContext->m_Socket);
|
||||||
|
|
||||||
CDialog::OnClose();
|
CDialog::OnClose();
|
||||||
|
m_bIsClosed = true;
|
||||||
|
//delete this; //<2F>˴<EFBFBD><CBB4>ͷ<EFBFBD><CDB7>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ڵ<EFBFBD>2<EFBFBD>α<EFBFBD><CEB1><EFBFBD>
|
||||||
}
|
}
|
||||||
|
|
||||||
CString CFileManagerDlg::GetParentDirectory(CString strPath)
|
CString CFileManagerDlg::GetParentDirectory(CString strPath)
|
||||||
|
|||||||
@@ -70,7 +70,11 @@ public:
|
|||||||
HICON m_hIcon;
|
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()
|
||||||
|
{
|
||||||
|
if(m_ProgressCtrl) delete m_ProgressCtrl;
|
||||||
|
}
|
||||||
// Dialog Data
|
// Dialog Data
|
||||||
//{{AFX_DATA(CFileManagerDlg)
|
//{{AFX_DATA(CFileManagerDlg)
|
||||||
enum { IDD = IDD_FILE };
|
enum { IDD = IDD_FILE };
|
||||||
|
|||||||
@@ -34,7 +34,6 @@ BEGIN_MESSAGE_MAP(CSettingDlg, CDialog)
|
|||||||
ON_BN_CLICKED(IDC_BUTTON_SETTINGAPPLY, &CSettingDlg::OnBnClickedButtonSettingapply)
|
ON_BN_CLICKED(IDC_BUTTON_SETTINGAPPLY, &CSettingDlg::OnBnClickedButtonSettingapply)
|
||||||
ON_EN_CHANGE(IDC_EDIT_PORT, &CSettingDlg::OnEnChangeEditPort)
|
ON_EN_CHANGE(IDC_EDIT_PORT, &CSettingDlg::OnEnChangeEditPort)
|
||||||
ON_EN_CHANGE(IDC_EDIT_MAX, &CSettingDlg::OnEnChangeEditMax)
|
ON_EN_CHANGE(IDC_EDIT_MAX, &CSettingDlg::OnEnChangeEditMax)
|
||||||
ON_BN_CLICKED(IDC_BUTTON_MSG, &CSettingDlg::OnBnClickedButtonMsg)
|
|
||||||
END_MESSAGE_MAP()
|
END_MESSAGE_MAP()
|
||||||
|
|
||||||
|
|
||||||
@@ -60,8 +59,6 @@ BOOL CSettingDlg::OnInitDialog()
|
|||||||
|
|
||||||
void CSettingDlg::OnBnClickedButtonSettingapply()
|
void CSettingDlg::OnBnClickedButtonSettingapply()
|
||||||
{
|
{
|
||||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
//MessageBox("1");
|
|
||||||
UpdateData(TRUE);
|
UpdateData(TRUE);
|
||||||
((CMy2015RemoteApp *)AfxGetApp())->m_iniFile.SetInt("Settings", "ListenPort", m_nListenPort);
|
((CMy2015RemoteApp *)AfxGetApp())->m_iniFile.SetInt("Settings", "ListenPort", m_nListenPort);
|
||||||
//<2F><>ini<6E>ļ<EFBFBD><C4BC><EFBFBD>д<EFBFBD><D0B4>ֵ
|
//<2F><>ini<6E>ļ<EFBFBD><C4BC><EFBFBD>д<EFBFBD><D0B4>ֵ
|
||||||
@@ -99,13 +96,3 @@ void CSettingDlg::OnEnChangeEditMax()
|
|||||||
::ShowWindow(hApplyButton,SW_NORMAL);
|
::ShowWindow(hApplyButton,SW_NORMAL);
|
||||||
::EnableWindow(hApplyButton,TRUE);
|
::EnableWindow(hApplyButton,TRUE);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CSettingDlg::OnBnClickedButtonMsg()
|
|
||||||
{
|
|
||||||
// TODO: <20>ڴ<EFBFBD><DAB4><EFBFBD><EFBFBD>ӿؼ<D3BF>֪ͨ<CDA8><D6AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
|
||||||
HWND hFather = NULL;
|
|
||||||
|
|
||||||
hFather = ::FindWindow(NULL,"2015Remote");
|
|
||||||
::SendMessage(hFather,WM_CLOSE,NULL,NULL);
|
|
||||||
}
|
|
||||||
|
|||||||
@@ -27,5 +27,4 @@ public:
|
|||||||
afx_msg void OnEnChangeEditPort();
|
afx_msg void OnEnChangeEditPort();
|
||||||
afx_msg void OnEnChangeEditMax();
|
afx_msg void OnEnChangeEditMax();
|
||||||
CButton m_ApplyButton;
|
CButton m_ApplyButton;
|
||||||
afx_msg void OnBnClickedButtonMsg();
|
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -69,16 +69,16 @@ BOOL CSystemDlg::OnInitDialog()
|
|||||||
m_ControlList.SetExtendedStyle(LVS_EX_FLATSB | LVS_EX_FULLROWSELECT);
|
m_ControlList.SetExtendedStyle(LVS_EX_FLATSB | LVS_EX_FULLROWSELECT);
|
||||||
if (m_bHow==TOKEN_PSLIST) //<2F><><EFBFBD>̹<EFBFBD><CCB9><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>б<EFBFBD>
|
if (m_bHow==TOKEN_PSLIST) //<2F><><EFBFBD>̹<EFBFBD><CCB9><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>б<EFBFBD>
|
||||||
{
|
{
|
||||||
m_ControlList.InsertColumn(0, "ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", LVCFMT_LEFT, 120);
|
m_ControlList.InsertColumn(0, "ӳ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", LVCFMT_LEFT, 180);
|
||||||
m_ControlList.InsertColumn(1, "PID", LVCFMT_LEFT, 50);
|
m_ControlList.InsertColumn(1, "PID", LVCFMT_LEFT, 70);
|
||||||
m_ControlList.InsertColumn(2, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>", LVCFMT_LEFT, 200);
|
m_ControlList.InsertColumn(2, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>·<EFBFBD><EFBFBD>", LVCFMT_LEFT, 320);
|
||||||
ShowProcessList(); //<2F><><EFBFBD>ڵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ž<EFBFBD><C5BD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>\0\0
|
ShowProcessList(); //<2F><><EFBFBD>ڵ<EFBFBD>һ<EFBFBD><D2BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ<EFBFBD><CFA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ž<EFBFBD><C5BD>̵<EFBFBD><CCB5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><D4B0><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʾ<EFBFBD><CABE><EFBFBD>б<EFBFBD><D0B1><EFBFBD><EFBFBD><EFBFBD>\0\0
|
||||||
}else if (m_bHow==TOKEN_WSLIST)//<2F><><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>б<EFBFBD>
|
}else if (m_bHow==TOKEN_WSLIST)//<2F><><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD>ʼ<EFBFBD><CABC><EFBFBD>б<EFBFBD>
|
||||||
{
|
{
|
||||||
//<2F><>ʼ<EFBFBD><CABC> <20><><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
//<2F><>ʼ<EFBFBD><CABC> <20><><EFBFBD>ڹ<EFBFBD><DAB9><EFBFBD><EFBFBD><EFBFBD><EFBFBD>б<EFBFBD>
|
||||||
m_ControlList.InsertColumn(0, "PID", LVCFMT_LEFT, 50);
|
m_ControlList.InsertColumn(0, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>", LVCFMT_LEFT, 80);
|
||||||
m_ControlList.InsertColumn(1, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", LVCFMT_LEFT, 300);
|
m_ControlList.InsertColumn(1, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>", LVCFMT_LEFT, 420);
|
||||||
m_ControlList.InsertColumn(2, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬", LVCFMT_LEFT, 300);
|
m_ControlList.InsertColumn(2, "<EFBFBD><EFBFBD><EFBFBD><EFBFBD>״̬", LVCFMT_LEFT, 200);
|
||||||
ShowWindowsList();
|
ShowWindowsList();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -108,7 +108,7 @@ void CSystemDlg::ShowWindowsList(void)
|
|||||||
m_ControlList.SetItemData(i, *lpPID); //(d)
|
m_ControlList.SetItemData(i, *lpPID); //(d)
|
||||||
dwOffset += sizeof(DWORD) + lstrlen(szTitle) + 1;
|
dwOffset += sizeof(DWORD) + lstrlen(szTitle) + 1;
|
||||||
}
|
}
|
||||||
str.Format("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD>ڸ<EFBFBD><DAB8><EFBFBD><EFBFBD><EFBFBD>%d<><64>", i); //<2F><EFBFBD>CtrlList
|
str.Format("<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <EFBFBD><EFBFBD><EFBFBD>ڸ<EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>%d<><64>", i); //<2F><EFBFBD>CtrlList
|
||||||
LVCOLUMN lvc;
|
LVCOLUMN lvc;
|
||||||
lvc.mask = LVCF_TEXT;
|
lvc.mask = LVCF_TEXT;
|
||||||
lvc.pszText = str.GetBuffer(0);
|
lvc.pszText = str.GetBuffer(0);
|
||||||
@@ -253,6 +253,8 @@ void CSystemDlg::OnWlistRefresh()
|
|||||||
{
|
{
|
||||||
GetWindowsList();
|
GetWindowsList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void CSystemDlg::GetWindowsList(void)
|
void CSystemDlg::GetWindowsList(void)
|
||||||
{
|
{
|
||||||
BYTE bToken = COMMAND_WSLIST;
|
BYTE bToken = COMMAND_WSLIST;
|
||||||
|
|||||||
Binary file not shown.
|
Before Width: | Height: | Size: 66 KiB After Width: | Height: | Size: 13 KiB |
Reference in New Issue
Block a user