mirror of
https://github.com/reactos/reactos.git
synced 2024-07-02 10:45:24 +00:00
- taskmgr improvements by Carlo Bramix
See issue #3075 for more details. svn path=/trunk/; revision=32380
This commit is contained in:
parent
34e64ee87b
commit
1950c903e3
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* ReactOS Task Manager
|
||||
*
|
||||
* about.cpp
|
||||
* about.c
|
||||
*
|
||||
* Copyright (C) 1999 - 2001 Brian Palmer <brianp@reactos.org>
|
||||
*
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* ReactOS Task Manager
|
||||
*
|
||||
* affinity.cpp
|
||||
* affinity.c
|
||||
*
|
||||
* Copyright (C) 1999 - 2001 Brian Palmer <brianp@reactos.org>
|
||||
* 2005 Klemens Friedl <frik85@reactos.at>
|
||||
|
@ -24,8 +24,6 @@
|
|||
#include <precomp.h>
|
||||
|
||||
HANDLE hProcessAffinityHandle;
|
||||
WCHAR szTemp[256];
|
||||
WCHAR szTempA[256];
|
||||
|
||||
static const DWORD dwCpuTable[] = {
|
||||
IDC_CPU0, IDC_CPU1, IDC_CPU2, IDC_CPU3,
|
||||
|
@ -46,6 +44,7 @@ void ProcessPage_OnSetAffinity(void)
|
|||
ULONG Index;
|
||||
DWORD dwProcessId;
|
||||
WCHAR strErrorText[260];
|
||||
WCHAR szTitle[256];
|
||||
|
||||
for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++) {
|
||||
memset(&lvitem, 0, sizeof(LV_ITEM));
|
||||
|
@ -62,8 +61,8 @@ void ProcessPage_OnSetAffinity(void)
|
|||
hProcessAffinityHandle = OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_SET_INFORMATION, FALSE, dwProcessId);
|
||||
if (!hProcessAffinityHandle) {
|
||||
GetLastErrorText(strErrorText, sizeof(strErrorText) / sizeof(WCHAR));
|
||||
LoadStringW(hInst, IDS_MSG_ACCESSPROCESSAFF, szTemp, sizeof(szTemp) / sizeof(WCHAR));
|
||||
MessageBoxW(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP);
|
||||
LoadStringW(hInst, IDS_MSG_ACCESSPROCESSAFF, szTitle, sizeof(szTitle) / sizeof(WCHAR));
|
||||
MessageBoxW(hMainWnd, strErrorText, szTitle, MB_OK|MB_ICONSTOP);
|
||||
return;
|
||||
}
|
||||
DialogBoxW(hInst, MAKEINTRESOURCEW(IDD_AFFINITY_DIALOG), hMainWnd, AffinityDialogWndProc);
|
||||
|
@ -79,6 +78,7 @@ AffinityDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
DWORD dwProcessAffinityMask = 0;
|
||||
DWORD dwSystemAffinityMask = 0;
|
||||
WCHAR strErrorText[260];
|
||||
WCHAR szTitle[256];
|
||||
BYTE nCpu;
|
||||
|
||||
switch (message) {
|
||||
|
@ -91,8 +91,8 @@ AffinityDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
if (!GetProcessAffinityMask(hProcessAffinityHandle, &dwProcessAffinityMask, &dwSystemAffinityMask)) {
|
||||
GetLastErrorText(strErrorText, sizeof(strErrorText) / sizeof(WCHAR));
|
||||
EndDialog(hDlg, 0);
|
||||
LoadStringW(hInst, IDS_MSG_ACCESSPROCESSAFF, szTemp, sizeof(szTemp) / sizeof(WCHAR));
|
||||
MessageBoxW(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP);
|
||||
LoadStringW(hInst, IDS_MSG_ACCESSPROCESSAFF, szTitle, sizeof(szTitle) / sizeof(WCHAR));
|
||||
MessageBoxW(hMainWnd, strErrorText, szTitle, MB_OK|MB_ICONSTOP);
|
||||
}
|
||||
|
||||
for (nCpu=0; nCpu<sizeof(dwCpuTable) / sizeof(dwCpuTable[0]); nCpu++) {
|
||||
|
@ -143,9 +143,9 @@ AffinityDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
* of it's cpu time.
|
||||
*/
|
||||
if (!dwProcessAffinityMask) {
|
||||
LoadStringW(hInst, IDS_MSG_PROCESSONEPRO, szTemp, sizeof(szTemp) / sizeof(WCHAR));
|
||||
LoadStringW(hInst, IDS_MSG_INVALIDOPTION, szTempA, sizeof(szTempA) / sizeof(WCHAR));
|
||||
MessageBoxW(hDlg, szTemp, szTempA, MB_OK|MB_ICONSTOP);
|
||||
LoadStringW(hInst, IDS_MSG_PROCESSONEPRO, strErrorText, sizeof(strErrorText) / sizeof(WCHAR));
|
||||
LoadStringW(hInst, IDS_MSG_INVALIDOPTION, szTitle, sizeof(szTitle) / sizeof(WCHAR));
|
||||
MessageBoxW(hDlg, strErrorText, szTitle, MB_OK|MB_ICONSTOP);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
|
@ -155,8 +155,8 @@ AffinityDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
if (!SetProcessAffinityMask(hProcessAffinityHandle, dwProcessAffinityMask)) {
|
||||
GetLastErrorText(strErrorText, sizeof(strErrorText) / sizeof(WCHAR));
|
||||
EndDialog(hDlg, LOWORD(wParam));
|
||||
LoadStringW(hInst, IDS_MSG_ACCESSPROCESSAFF, szTemp, sizeof(szTemp) / sizeof(WCHAR));
|
||||
MessageBoxW(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP);
|
||||
LoadStringW(hInst, IDS_MSG_ACCESSPROCESSAFF, szTitle, sizeof(szTitle) / sizeof(WCHAR));
|
||||
MessageBoxW(hMainWnd, strErrorText, szTitle, MB_OK|MB_ICONSTOP);
|
||||
}
|
||||
|
||||
EndDialog(hDlg, LOWORD(wParam));
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* ReactOS Task Manager
|
||||
*
|
||||
* applicationpage.cpp
|
||||
* applpage.c
|
||||
*
|
||||
* Copyright (C) 1999 - 2001 Brian Palmer <brianp@reactos.org>
|
||||
* 2005 Klemens Friedl <frik85@reactos.at>
|
||||
|
@ -196,18 +196,13 @@ void UpdateApplicationListControlViewSetting(void)
|
|||
{
|
||||
DWORD dwStyle = GetWindowLongW(hApplicationPageListCtrl, GWL_STYLE);
|
||||
|
||||
dwStyle &= ~LVS_REPORT;
|
||||
dwStyle &= ~LVS_ICON;
|
||||
dwStyle &= ~LVS_LIST;
|
||||
dwStyle &= ~LVS_SMALLICON;
|
||||
|
||||
if (TaskManagerSettings.View_LargeIcons)
|
||||
dwStyle |= LVS_ICON;
|
||||
else if (TaskManagerSettings.View_SmallIcons)
|
||||
dwStyle |= LVS_SMALLICON;
|
||||
else
|
||||
dwStyle |= LVS_REPORT;
|
||||
dwStyle &= ~(LVS_REPORT | LVS_ICON | LVS_LIST | LVS_SMALLICON);
|
||||
|
||||
switch (TaskManagerSettings.ViewMode) {
|
||||
case ID_VIEW_LARGE: dwStyle |= LVS_ICON; break;
|
||||
case ID_VIEW_SMALL: dwStyle |= LVS_SMALLICON; break;
|
||||
case ID_VIEW_DETAILS: dwStyle |= LVS_REPORT; break;
|
||||
}
|
||||
SetWindowLongW(hApplicationPageListCtrl, GWL_STYLE, dwStyle);
|
||||
|
||||
RefreshApplicationPage();
|
||||
|
@ -265,7 +260,7 @@ BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam)
|
|||
if (hWnd == hMainWnd)
|
||||
return TRUE;
|
||||
|
||||
bLargeIcon = TaskManagerSettings.View_LargeIcons ? TRUE : FALSE;
|
||||
bLargeIcon = (TaskManagerSettings.ViewMode == ID_VIEW_LARGE);
|
||||
|
||||
GetWindowTextW(hWnd, szText, 260); /* Get the window text */
|
||||
|
||||
|
@ -521,13 +516,12 @@ void ApplicationPageOnNotify(WPARAM wParam, LPARAM lParam)
|
|||
if (pAPLI->bHung)
|
||||
{
|
||||
LoadStringW( GetModuleHandleW(NULL), IDS_Not_Responding , szMsg, sizeof(szMsg) / sizeof(szMsg[0]));
|
||||
wcsncpy(pnmdi->item.pszText, szMsg, pnmdi->item.cchTextMax);
|
||||
}
|
||||
else
|
||||
{
|
||||
LoadStringW( GetModuleHandleW(NULL), IDS_Running, (LPWSTR) szMsg, sizeof(szMsg) / sizeof(szMsg[0]));
|
||||
wcsncpy(pnmdi->item.pszText, szMsg, pnmdi->item.cchTextMax);
|
||||
}
|
||||
wcsncpy(pnmdi->item.pszText, szMsg, pnmdi->item.cchTextMax);
|
||||
}
|
||||
|
||||
break;
|
||||
|
@ -591,12 +585,7 @@ void ApplicationPageShowContextMenu1(void)
|
|||
hMenu = LoadMenuW(hInst, MAKEINTRESOURCEW(IDR_APPLICATION_PAGE_CONTEXT1));
|
||||
hSubMenu = GetSubMenu(hMenu, 0);
|
||||
|
||||
if (TaskManagerSettings.View_LargeIcons)
|
||||
CheckMenuRadioItem(hSubMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_LARGE, MF_BYCOMMAND);
|
||||
else if (TaskManagerSettings.View_SmallIcons)
|
||||
CheckMenuRadioItem(hSubMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_SMALL, MF_BYCOMMAND);
|
||||
else
|
||||
CheckMenuRadioItem(hSubMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_DETAILS, MF_BYCOMMAND);
|
||||
CheckMenuRadioItem(hSubMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, TaskManagerSettings.ViewMode, MF_BYCOMMAND);
|
||||
|
||||
TrackPopupMenu(hSubMenu, TPM_LEFTALIGN|TPM_TOPALIGN|TPM_LEFTBUTTON, pt.x, pt.y, 0, hMainWnd, NULL);
|
||||
|
||||
|
@ -649,7 +638,7 @@ void ApplicationPageShowContextMenu2(void)
|
|||
DestroyMenu(hMenu);
|
||||
}
|
||||
|
||||
void ApplicationPage_OnViewLargeIcons(void)
|
||||
void ApplicationPage_OnView(DWORD dwMode)
|
||||
{
|
||||
HMENU hMenu;
|
||||
HMENU hViewMenu;
|
||||
|
@ -657,78 +646,13 @@ void ApplicationPage_OnViewLargeIcons(void)
|
|||
hMenu = GetMenu(hMainWnd);
|
||||
hViewMenu = GetSubMenu(hMenu, 2);
|
||||
|
||||
TaskManagerSettings.View_LargeIcons = TRUE;
|
||||
TaskManagerSettings.View_SmallIcons = FALSE;
|
||||
TaskManagerSettings.View_Details = FALSE;
|
||||
CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_LARGE, MF_BYCOMMAND);
|
||||
TaskManagerSettings.ViewMode = dwMode;
|
||||
CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, dwMode, MF_BYCOMMAND);
|
||||
|
||||
UpdateApplicationListControlViewSetting();
|
||||
}
|
||||
|
||||
void ApplicationPage_OnViewSmallIcons(void)
|
||||
{
|
||||
HMENU hMenu;
|
||||
HMENU hViewMenu;
|
||||
|
||||
hMenu = GetMenu(hMainWnd);
|
||||
hViewMenu = GetSubMenu(hMenu, 2);
|
||||
|
||||
TaskManagerSettings.View_LargeIcons = FALSE;
|
||||
TaskManagerSettings.View_SmallIcons = TRUE;
|
||||
TaskManagerSettings.View_Details = FALSE;
|
||||
CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_SMALL, MF_BYCOMMAND);
|
||||
|
||||
UpdateApplicationListControlViewSetting();
|
||||
}
|
||||
|
||||
void ApplicationPage_OnViewDetails(void)
|
||||
{
|
||||
HMENU hMenu;
|
||||
HMENU hViewMenu;
|
||||
|
||||
hMenu = GetMenu(hMainWnd);
|
||||
hViewMenu = GetSubMenu(hMenu, 2);
|
||||
|
||||
TaskManagerSettings.View_LargeIcons = FALSE;
|
||||
TaskManagerSettings.View_SmallIcons = FALSE;
|
||||
TaskManagerSettings.View_Details = TRUE;
|
||||
CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_DETAILS, MF_BYCOMMAND);
|
||||
|
||||
UpdateApplicationListControlViewSetting();
|
||||
}
|
||||
|
||||
void ApplicationPage_OnWindowsTileHorizontally(void)
|
||||
{
|
||||
LPAPPLICATION_PAGE_LIST_ITEM pAPLI = NULL;
|
||||
LV_ITEM item;
|
||||
int i;
|
||||
HWND* hWndArray;
|
||||
int nWndCount;
|
||||
|
||||
hWndArray = (HWND*)HeapAlloc(GetProcessHeap(), 0, sizeof(HWND) * ListView_GetItemCount(hApplicationPageListCtrl));
|
||||
nWndCount = 0;
|
||||
|
||||
for (i=0; i<ListView_GetItemCount(hApplicationPageListCtrl); i++) {
|
||||
memset(&item, 0, sizeof(LV_ITEM));
|
||||
item.mask = LVIF_STATE|LVIF_PARAM;
|
||||
item.iItem = i;
|
||||
item.stateMask = (UINT)-1;
|
||||
(void)ListView_GetItem(hApplicationPageListCtrl, &item);
|
||||
|
||||
if (item.state & LVIS_SELECTED) {
|
||||
pAPLI = (LPAPPLICATION_PAGE_LIST_ITEM)item.lParam;
|
||||
|
||||
if (pAPLI) {
|
||||
hWndArray[nWndCount] = pAPLI->hWnd;
|
||||
nWndCount++;
|
||||
}
|
||||
}
|
||||
}
|
||||
TileWindows(NULL, MDITILE_HORIZONTAL, NULL, nWndCount, hWndArray);
|
||||
HeapFree(GetProcessHeap(), 0, hWndArray);
|
||||
}
|
||||
|
||||
void ApplicationPage_OnWindowsTileVertically(void)
|
||||
void ApplicationPage_OnWindowsTile(DWORD dwMode)
|
||||
{
|
||||
LPAPPLICATION_PAGE_LIST_ITEM pAPLI = NULL;
|
||||
LV_ITEM item;
|
||||
|
@ -755,7 +679,7 @@ void ApplicationPage_OnWindowsTileVertically(void)
|
|||
}
|
||||
}
|
||||
|
||||
TileWindows(NULL, MDITILE_VERTICAL, NULL, nWndCount, hWndArray);
|
||||
TileWindows(NULL, dwMode, NULL, nWndCount, hWndArray);
|
||||
HeapFree(GetProcessHeap(), 0, hWndArray);
|
||||
}
|
||||
|
||||
|
|
|
@ -34,11 +34,8 @@ INT_PTR CALLBACK ApplicationPageWndProc(HWND hDlg, UINT message, WPARAM wPara
|
|||
void RefreshApplicationPage(void);
|
||||
void UpdateApplicationListControlViewSetting(void);
|
||||
|
||||
void ApplicationPage_OnViewLargeIcons(void);
|
||||
void ApplicationPage_OnViewSmallIcons(void);
|
||||
void ApplicationPage_OnViewDetails(void);
|
||||
void ApplicationPage_OnWindowsTileHorizontally(void);
|
||||
void ApplicationPage_OnWindowsTileVertically(void);
|
||||
void ApplicationPage_OnView(DWORD);
|
||||
void ApplicationPage_OnWindowsTile(DWORD);
|
||||
void ApplicationPage_OnWindowsMinimize(void);
|
||||
void ApplicationPage_OnWindowsMaximize(void);
|
||||
void ApplicationPage_OnWindowsCascade(void);
|
||||
|
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* ReactOS Task Manager
|
||||
*
|
||||
* column.cpp
|
||||
* column.c
|
||||
*
|
||||
* Copyright (C) 1999 - 2001 Brian Palmer <brianp@reactos.org>
|
||||
* 2005 Klemens Friedl <frik85@reactos.at>
|
||||
|
@ -24,7 +24,6 @@
|
|||
#include <precomp.h>
|
||||
|
||||
UINT ColumnDataHints[COLUMN_NMAX];
|
||||
WCHAR szTemp[256];
|
||||
|
||||
#define DECLARE_COLUMN_PRESET(_name, _size, _state) \
|
||||
{ IDS_TAB_##_name, IDC_##_name, _size, _state },
|
||||
|
@ -57,7 +56,7 @@ const PresetColumnEntry ColumnPresets[COLUMN_NMAX] = {
|
|||
DECLARE_COLUMN_PRESET(IOOTHERBYTES, 70, FALSE)
|
||||
};
|
||||
|
||||
int InsertColumn(int nCol, LPCWSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem);
|
||||
static int InsertColumn(int nCol, LPCWSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem);
|
||||
INT_PTR CALLBACK ColumnsDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
|
||||
|
||||
void AddColumns(void)
|
||||
|
@ -79,7 +78,7 @@ void AddColumns(void)
|
|||
UpdateColumnDataHints();
|
||||
}
|
||||
|
||||
int InsertColumn(int nCol, LPCWSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem)
|
||||
static int InsertColumn(int nCol, LPCWSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem)
|
||||
{
|
||||
LVCOLUMN column;
|
||||
|
||||
|
@ -107,6 +106,7 @@ void SaveColumnSettings(void)
|
|||
HDITEM hditem;
|
||||
int i, n;
|
||||
WCHAR text[260];
|
||||
WCHAR szTemp[256];
|
||||
LRESULT size;
|
||||
|
||||
/* Reset column data */
|
||||
|
|
|
@ -23,15 +23,13 @@
|
|||
|
||||
#include <precomp.h>
|
||||
|
||||
WCHAR szTemp[256];
|
||||
WCHAR szTempA[256];
|
||||
|
||||
void ProcessPage_OnEndProcess(void)
|
||||
{
|
||||
LVITEM lvitem;
|
||||
ULONG Index;
|
||||
DWORD dwProcessId;
|
||||
HANDLE hProcess;
|
||||
WCHAR szTitle[256];
|
||||
WCHAR strErrorText[260];
|
||||
|
||||
for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++)
|
||||
|
@ -53,9 +51,9 @@ void ProcessPage_OnEndProcess(void)
|
|||
if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0))
|
||||
return;
|
||||
|
||||
LoadStringW(hInst, IDS_MSG_WARNINGTERMINATING, szTemp, 256);
|
||||
LoadStringW(hInst, IDS_MSG_TASKMGRWARNING, szTempA, 256);
|
||||
if (MessageBoxW(hMainWnd, szTemp, szTempA, MB_YESNO|MB_ICONWARNING) != IDYES)
|
||||
LoadStringW(hInst, IDS_MSG_WARNINGTERMINATING, strErrorText, 256);
|
||||
LoadStringW(hInst, IDS_MSG_TASKMGRWARNING, szTitle, 256);
|
||||
if (MessageBoxW(hMainWnd, strErrorText, szTitle, MB_YESNO|MB_ICONWARNING) != IDYES)
|
||||
return;
|
||||
|
||||
hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, dwProcessId);
|
||||
|
@ -63,16 +61,16 @@ void ProcessPage_OnEndProcess(void)
|
|||
if (!hProcess)
|
||||
{
|
||||
GetLastErrorText(strErrorText, 260);
|
||||
LoadStringW(hInst, IDS_MSG_UNABLETERMINATEPRO, szTemp, 256);
|
||||
MessageBoxW(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP);
|
||||
LoadStringW(hInst, IDS_MSG_UNABLETERMINATEPRO, szTitle, 256);
|
||||
MessageBoxW(hMainWnd, strErrorText, szTitle, MB_OK|MB_ICONSTOP);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!TerminateProcess(hProcess, 0))
|
||||
{
|
||||
GetLastErrorText(strErrorText, 260);
|
||||
LoadStringW(hInst, IDS_MSG_UNABLETERMINATEPRO, szTemp, 256);
|
||||
MessageBoxW(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP);
|
||||
LoadStringW(hInst, IDS_MSG_UNABLETERMINATEPRO, szTitle, 256);
|
||||
MessageBoxW(hMainWnd, strErrorText, szTitle, MB_OK|MB_ICONSTOP);
|
||||
}
|
||||
|
||||
CloseHandle(hProcess);
|
||||
|
@ -84,6 +82,7 @@ void ProcessPage_OnEndProcessTree(void)
|
|||
ULONG Index;
|
||||
DWORD dwProcessId;
|
||||
HANDLE hProcess;
|
||||
WCHAR szTitle[256];
|
||||
WCHAR strErrorText[260];
|
||||
|
||||
for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++)
|
||||
|
@ -105,9 +104,9 @@ void ProcessPage_OnEndProcessTree(void)
|
|||
if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0))
|
||||
return;
|
||||
|
||||
LoadStringW(hInst, IDS_MSG_WARNINGTERMINATING, szTemp, 256);
|
||||
LoadStringW(hInst, IDS_MSG_TASKMGRWARNING, szTempA, 256);
|
||||
if (MessageBoxW(hMainWnd, szTemp, szTempA, MB_YESNO|MB_ICONWARNING) != IDYES)
|
||||
LoadStringW(hInst, IDS_MSG_WARNINGTERMINATING, strErrorText, 256);
|
||||
LoadStringW(hInst, IDS_MSG_TASKMGRWARNING, szTitle, 256);
|
||||
if (MessageBoxW(hMainWnd, strErrorText, szTitle, MB_YESNO|MB_ICONWARNING) != IDYES)
|
||||
return;
|
||||
|
||||
hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, dwProcessId);
|
||||
|
@ -115,16 +114,16 @@ void ProcessPage_OnEndProcessTree(void)
|
|||
if (!hProcess)
|
||||
{
|
||||
GetLastErrorText(strErrorText, 260);
|
||||
LoadStringW(hInst, IDS_MSG_UNABLETERMINATEPRO, szTemp, 256);
|
||||
MessageBoxW(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP);
|
||||
LoadStringW(hInst, IDS_MSG_UNABLETERMINATEPRO, szTitle, 256);
|
||||
MessageBoxW(hMainWnd, strErrorText, szTitle, MB_OK|MB_ICONSTOP);
|
||||
return;
|
||||
}
|
||||
|
||||
if (!TerminateProcess(hProcess, 0))
|
||||
{
|
||||
GetLastErrorText(strErrorText, 260);
|
||||
LoadStringW(hInst, IDS_MSG_UNABLETERMINATEPRO, szTemp, 256);
|
||||
MessageBoxW(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP);
|
||||
LoadStringW(hInst, IDS_MSG_UNABLETERMINATEPRO, szTitle, 256);
|
||||
MessageBoxW(hMainWnd, strErrorText, szTitle, MB_OK|MB_ICONSTOP);
|
||||
}
|
||||
|
||||
CloseHandle(hProcess);
|
||||
|
|
|
@ -413,7 +413,6 @@ void ProcessPageShowContextMenu(DWORD dwProcessId)
|
|||
WCHAR strDebugger[260];
|
||||
DWORD dwDebuggerSize;
|
||||
HKEY hKey;
|
||||
UINT Idx;
|
||||
|
||||
memset(&si, 0, sizeof(SYSTEM_INFO));
|
||||
|
||||
|
@ -460,9 +459,7 @@ void ProcessPageShowContextMenu(DWORD dwProcessId)
|
|||
dwDebuggerSize = 260;
|
||||
if (RegQueryValueExW(hKey, L"Debugger", NULL, NULL, (LPBYTE)strDebugger, &dwDebuggerSize) == ERROR_SUCCESS)
|
||||
{
|
||||
for (Idx=0; Idx<wcslen(strDebugger); Idx++)
|
||||
strDebugger[Idx] = toupper(strDebugger[Idx]);
|
||||
|
||||
CharUpper(strDebugger);
|
||||
if (wcsstr(strDebugger, L"DRWTSN32"))
|
||||
EnableMenuItem(hSubMenu, ID_PROCESS_PAGE_DEBUG, MF_BYCOMMAND|MF_DISABLED|MF_GRAYED);
|
||||
}
|
||||
|
|
|
@ -137,13 +137,9 @@ TaskManagerWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
TaskManager_OnRestoreMainWindow();
|
||||
break;
|
||||
case ID_VIEW_LARGE:
|
||||
ApplicationPage_OnViewLargeIcons();
|
||||
break;
|
||||
case ID_VIEW_SMALL:
|
||||
ApplicationPage_OnViewSmallIcons();
|
||||
break;
|
||||
case ID_VIEW_DETAILS:
|
||||
ApplicationPage_OnViewDetails();
|
||||
ApplicationPage_OnView(LOWORD(wParam));
|
||||
break;
|
||||
case ID_VIEW_SHOWKERNELTIMES:
|
||||
PerformancePage_OnViewShowKernelTimes();
|
||||
|
@ -155,16 +151,10 @@ TaskManagerWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
PerformancePage_OnViewCPUHistoryOneGraphPerCPU();
|
||||
break;
|
||||
case ID_VIEW_UPDATESPEED_HIGH:
|
||||
TaskManager_OnViewUpdateSpeedHigh();
|
||||
break;
|
||||
case ID_VIEW_UPDATESPEED_NORMAL:
|
||||
TaskManager_OnViewUpdateSpeedNormal();
|
||||
break;
|
||||
case ID_VIEW_UPDATESPEED_LOW:
|
||||
TaskManager_OnViewUpdateSpeedLow();
|
||||
break;
|
||||
case ID_VIEW_UPDATESPEED_PAUSED:
|
||||
TaskManager_OnViewUpdateSpeedPaused();
|
||||
TaskManager_OnViewUpdateSpeed(LOWORD(wParam));
|
||||
break;
|
||||
case ID_VIEW_SELECTCOLUMNS:
|
||||
ProcessPage_OnViewSelectColumns();
|
||||
|
@ -173,10 +163,10 @@ TaskManagerWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
|
|||
PostMessageW(hDlg, WM_TIMER, 0, 0);
|
||||
break;
|
||||
case ID_WINDOWS_TILEHORIZONTALLY:
|
||||
ApplicationPage_OnWindowsTileHorizontally();
|
||||
ApplicationPage_OnWindowsTile(MDITILE_HORIZONTAL);
|
||||
break;
|
||||
case ID_WINDOWS_TILEVERTICALLY:
|
||||
ApplicationPage_OnWindowsTileVertically();
|
||||
ApplicationPage_OnWindowsTile(MDITILE_VERTICAL);
|
||||
break;
|
||||
case ID_WINDOWS_MINIMIZE:
|
||||
ApplicationPage_OnWindowsMinimize();
|
||||
|
@ -413,6 +403,22 @@ void Draw3dRect2(HDC hDC, LPRECT lpRect, COLORREF clrTopLeft, COLORREF clrBottom
|
|||
lpRect->bottom - lpRect->top, clrTopLeft, clrBottomRight);
|
||||
}
|
||||
|
||||
static void SetUpdateSpeed(HWND hWnd)
|
||||
{
|
||||
/* Setup update speed (pause=fall down) */
|
||||
switch (TaskManagerSettings.UpdateSpeed) {
|
||||
case ID_VIEW_UPDATESPEED_HIGH:
|
||||
SetTimer(hWnd, 1, 1000, NULL);
|
||||
break;
|
||||
case ID_VIEW_UPDATESPEED_NORMAL:
|
||||
SetTimer(hWnd, 1, 2000, NULL);
|
||||
break;
|
||||
case ID_VIEW_UPDATESPEED_LOW:
|
||||
SetTimer(hWnd, 1, 4000, NULL);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
BOOL OnCreate(HWND hWnd)
|
||||
{
|
||||
HMENU hMenu;
|
||||
|
@ -537,26 +543,15 @@ BOOL OnCreate(HWND hWnd)
|
|||
else
|
||||
CheckMenuItem(hEditMenu, ID_OPTIONS_SHOW16BITTASKS, MF_BYCOMMAND|MF_UNCHECKED);
|
||||
|
||||
if (TaskManagerSettings.View_LargeIcons)
|
||||
CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_LARGE, MF_BYCOMMAND);
|
||||
else if (TaskManagerSettings.View_SmallIcons)
|
||||
CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_SMALL, MF_BYCOMMAND);
|
||||
else
|
||||
CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_DETAILS, MF_BYCOMMAND);
|
||||
/* Set the view mode */
|
||||
CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, TaskManagerSettings.ViewMode, MF_BYCOMMAND);
|
||||
|
||||
if (TaskManagerSettings.ShowKernelTimes)
|
||||
CheckMenuItem(hViewMenu, ID_VIEW_SHOWKERNELTIMES, MF_BYCOMMAND|MF_CHECKED);
|
||||
else
|
||||
CheckMenuItem(hViewMenu, ID_VIEW_SHOWKERNELTIMES, MF_BYCOMMAND|MF_UNCHECKED);
|
||||
|
||||
if (TaskManagerSettings.UpdateSpeed == 1)
|
||||
CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, ID_VIEW_UPDATESPEED_HIGH, MF_BYCOMMAND);
|
||||
else if (TaskManagerSettings.UpdateSpeed == 2)
|
||||
CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, ID_VIEW_UPDATESPEED_NORMAL, MF_BYCOMMAND);
|
||||
else if (TaskManagerSettings.UpdateSpeed == 4)
|
||||
CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, ID_VIEW_UPDATESPEED_LOW, MF_BYCOMMAND);
|
||||
else
|
||||
CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, ID_VIEW_UPDATESPEED_PAUSED, MF_BYCOMMAND);
|
||||
CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, TaskManagerSettings.UpdateSpeed, MF_BYCOMMAND);
|
||||
|
||||
if (TaskManagerSettings.CPUHistory_OneGraphPerCPU)
|
||||
CheckMenuRadioItem(hCPUHistoryMenu, ID_VIEW_CPUHISTORY_ONEGRAPHALL, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, MF_BYCOMMAND);
|
||||
|
@ -569,12 +564,8 @@ BOOL OnCreate(HWND hWnd)
|
|||
TabCtrl_SetCurFocus/*Sel*/(hTabWnd, 2);
|
||||
TabCtrl_SetCurFocus/*Sel*/(hTabWnd, nActivePage);
|
||||
|
||||
if (TaskManagerSettings.UpdateSpeed == 1)
|
||||
SetTimer(hWnd, 1, 1000, NULL);
|
||||
else if (TaskManagerSettings.UpdateSpeed == 2)
|
||||
SetTimer(hWnd, 1, 2000, NULL);
|
||||
else if (TaskManagerSettings.UpdateSpeed == 4)
|
||||
SetTimer(hWnd, 1, 4000, NULL);
|
||||
/* Setup update speed */
|
||||
SetUpdateSpeed(hWnd);
|
||||
|
||||
/*
|
||||
* Refresh the performance data
|
||||
|
@ -669,7 +660,7 @@ void OnSize( WPARAM nType, int cx, int cy )
|
|||
void LoadSettings(void)
|
||||
{
|
||||
HKEY hKey;
|
||||
WCHAR szSubKey[] = L"Software\\ReactWare\\TaskManager";
|
||||
WCHAR szSubKey[] = L"Software\\ReactOS\\TaskManager";
|
||||
int i;
|
||||
DWORD dwSize;
|
||||
|
||||
|
@ -690,12 +681,10 @@ void LoadSettings(void)
|
|||
TaskManagerSettings.Show16BitTasks = TRUE;
|
||||
|
||||
/* Update speed settings */
|
||||
TaskManagerSettings.UpdateSpeed = 2;
|
||||
TaskManagerSettings.UpdateSpeed = ID_VIEW_UPDATESPEED_NORMAL;
|
||||
|
||||
/* Applications page settings */
|
||||
TaskManagerSettings.View_LargeIcons = FALSE;
|
||||
TaskManagerSettings.View_SmallIcons = FALSE;
|
||||
TaskManagerSettings.View_Details = TRUE;
|
||||
TaskManagerSettings.ViewMode = ID_VIEW_DETAILS;
|
||||
|
||||
/* Processes page settings */
|
||||
TaskManagerSettings.ShowProcessesFromAllUsers = FALSE; /* Server-only? */
|
||||
|
@ -735,8 +724,8 @@ void SaveSettings(void)
|
|||
{
|
||||
HKEY hKey;
|
||||
WCHAR szSubKey1[] = L"Software";
|
||||
WCHAR szSubKey2[] = L"Software\\ReactWare";
|
||||
WCHAR szSubKey3[] = L"Software\\ReactWare\\TaskManager";
|
||||
WCHAR szSubKey2[] = L"Software\\ReactOS";
|
||||
WCHAR szSubKey3[] = L"Software\\ReactOS\\TaskManager";
|
||||
|
||||
/* Open (or create) the key */
|
||||
hKey = NULL;
|
||||
|
@ -819,7 +808,7 @@ void TaskManager_OnMenuSelect(HWND hWnd, UINT nItemID, UINT nFlags, HMENU hSysMe
|
|||
SendMessageW(hStatusWnd, SB_SETTEXT, 0, (LPARAM)str);
|
||||
}
|
||||
|
||||
void TaskManager_OnViewUpdateSpeedHigh(void)
|
||||
void TaskManager_OnViewUpdateSpeed(DWORD dwSpeed)
|
||||
{
|
||||
HMENU hMenu;
|
||||
HMENU hViewMenu;
|
||||
|
@ -829,45 +818,12 @@ void TaskManager_OnViewUpdateSpeedHigh(void)
|
|||
hViewMenu = GetSubMenu(hMenu, 2);
|
||||
hUpdateSpeedMenu = GetSubMenu(hViewMenu, 1);
|
||||
|
||||
TaskManagerSettings.UpdateSpeed = 1;
|
||||
CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, ID_VIEW_UPDATESPEED_HIGH, MF_BYCOMMAND);
|
||||
TaskManagerSettings.UpdateSpeed = dwSpeed;
|
||||
CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, dwSpeed, MF_BYCOMMAND);
|
||||
|
||||
KillTimer(hMainWnd, 1);
|
||||
SetTimer(hMainWnd, 1, 500, NULL);
|
||||
}
|
||||
|
||||
void TaskManager_OnViewUpdateSpeedNormal(void)
|
||||
{
|
||||
HMENU hMenu;
|
||||
HMENU hViewMenu;
|
||||
HMENU hUpdateSpeedMenu;
|
||||
|
||||
hMenu = GetMenu(hMainWnd);
|
||||
hViewMenu = GetSubMenu(hMenu, 2);
|
||||
hUpdateSpeedMenu = GetSubMenu(hViewMenu, 1);
|
||||
|
||||
TaskManagerSettings.UpdateSpeed = 2;
|
||||
CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, ID_VIEW_UPDATESPEED_NORMAL, MF_BYCOMMAND);
|
||||
|
||||
KillTimer(hMainWnd, 1);
|
||||
SetTimer(hMainWnd, 1, 2000, NULL);
|
||||
}
|
||||
|
||||
void TaskManager_OnViewUpdateSpeedLow(void)
|
||||
{
|
||||
HMENU hMenu;
|
||||
HMENU hViewMenu;
|
||||
HMENU hUpdateSpeedMenu;
|
||||
|
||||
hMenu = GetMenu(hMainWnd);
|
||||
hViewMenu = GetSubMenu(hMenu, 2);
|
||||
hUpdateSpeedMenu = GetSubMenu(hViewMenu, 1);
|
||||
|
||||
TaskManagerSettings.UpdateSpeed = 4;
|
||||
CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, ID_VIEW_UPDATESPEED_LOW, MF_BYCOMMAND);
|
||||
|
||||
KillTimer(hMainWnd, 1);
|
||||
SetTimer(hMainWnd, 1, 4000, NULL);
|
||||
SetUpdateSpeed(hMainWnd);
|
||||
}
|
||||
|
||||
void TaskManager_OnViewRefresh(void)
|
||||
|
@ -875,20 +831,6 @@ void TaskManager_OnViewRefresh(void)
|
|||
PostMessageW(hMainWnd, WM_TIMER, 0, 0);
|
||||
}
|
||||
|
||||
void TaskManager_OnViewUpdateSpeedPaused(void)
|
||||
{
|
||||
HMENU hMenu;
|
||||
HMENU hViewMenu;
|
||||
HMENU hUpdateSpeedMenu;
|
||||
|
||||
hMenu = GetMenu(hMainWnd);
|
||||
hViewMenu = GetSubMenu(hMenu, 2);
|
||||
hUpdateSpeedMenu = GetSubMenu(hViewMenu, 1);
|
||||
TaskManagerSettings.UpdateSpeed = 0;
|
||||
CheckMenuRadioItem(hUpdateSpeedMenu, ID_VIEW_UPDATESPEED_HIGH, ID_VIEW_UPDATESPEED_PAUSED, ID_VIEW_UPDATESPEED_PAUSED, MF_BYCOMMAND);
|
||||
KillTimer(hMainWnd, 1);
|
||||
}
|
||||
|
||||
void TaskManager_OnTabWndSelChange(void)
|
||||
{
|
||||
int i;
|
||||
|
@ -933,12 +875,8 @@ void TaskManager_OnTabWndSelChange(void)
|
|||
|
||||
DrawMenuBar(hMainWnd);
|
||||
}
|
||||
if (TaskManagerSettings.View_LargeIcons)
|
||||
CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_LARGE, MF_BYCOMMAND);
|
||||
else if (TaskManagerSettings.View_SmallIcons)
|
||||
CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_SMALL, MF_BYCOMMAND);
|
||||
else
|
||||
CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, ID_VIEW_DETAILS, MF_BYCOMMAND);
|
||||
CheckMenuRadioItem(hViewMenu, ID_VIEW_LARGE, ID_VIEW_DETAILS, TaskManagerSettings.ViewMode, MF_BYCOMMAND);
|
||||
|
||||
/*
|
||||
* Give the application list control focus
|
||||
*/
|
||||
|
|
|
@ -68,12 +68,10 @@ typedef struct
|
|||
|
||||
/* Update speed settings */
|
||||
/* How many half-seconds in between updates (i.e. 0 - Paused, 1 - High, 2 - Normal, 4 - Low) */
|
||||
int UpdateSpeed;
|
||||
DWORD UpdateSpeed;
|
||||
|
||||
/* Applications page settings */
|
||||
BOOL View_LargeIcons;
|
||||
BOOL View_SmallIcons;
|
||||
BOOL View_Details;
|
||||
DWORD ViewMode;
|
||||
|
||||
/* Processes page settings */
|
||||
BOOL ShowProcessesFromAllUsers; /* Server-only? */
|
||||
|
@ -115,10 +113,7 @@ void TaskManager_OnRestoreMainWindow(void);
|
|||
void TaskManager_OnEnterMenuLoop(HWND hWnd);
|
||||
void TaskManager_OnExitMenuLoop(HWND hWnd);
|
||||
void TaskManager_OnMenuSelect(HWND hWnd, UINT nItemID, UINT nFlags, HMENU hSysMenu);
|
||||
void TaskManager_OnViewUpdateSpeedHigh(void);
|
||||
void TaskManager_OnViewUpdateSpeedNormal(void);
|
||||
void TaskManager_OnViewUpdateSpeedLow(void);
|
||||
void TaskManager_OnViewUpdateSpeedPaused(void);
|
||||
void TaskManager_OnViewUpdateSpeed(DWORD);
|
||||
void TaskManager_OnViewRefresh(void);
|
||||
void TaskManager_OnTabWndSelChange(void);
|
||||
LPTSTR GetLastErrorText( LPTSTR lpszBuf, DWORD dwSize );
|
||||
|
|
Loading…
Reference in a new issue