From 0607c67b6802c4c1098f51cc03a77fc2e663d43c Mon Sep 17 00:00:00 2001 From: Klemens Friedl Date: Sun, 27 Mar 2005 20:01:18 +0000 Subject: [PATCH] Remove all hardcode english phrases from the source code and add the phrases to the resource file. svn path=/trunk/; revision=14355 --- reactos/subsys/system/taskmgr/De.rc | 64 +++- reactos/subsys/system/taskmgr/En.rc | 60 ++++ reactos/subsys/system/taskmgr/affinity.c | 18 +- reactos/subsys/system/taskmgr/applpage.c | 6 +- reactos/subsys/system/taskmgr/column.c | 370 +++++++++++++++++------ reactos/subsys/system/taskmgr/debug.c | 34 ++- reactos/subsys/system/taskmgr/endproc.c | 24 +- reactos/subsys/system/taskmgr/priority.c | 64 ++-- reactos/subsys/system/taskmgr/resource.h | 55 ++++ reactos/subsys/system/taskmgr/run.c | 18 +- reactos/subsys/system/taskmgr/taskmgr.c | 51 +++- reactos/subsys/system/taskmgr/trayicon.c | 9 +- 12 files changed, 608 insertions(+), 165 deletions(-) diff --git a/reactos/subsys/system/taskmgr/De.rc b/reactos/subsys/system/taskmgr/De.rc index ab07c1ccebe..f13066be569 100644 --- a/reactos/subsys/system/taskmgr/De.rc +++ b/reactos/subsys/system/taskmgr/De.rc @@ -1,6 +1,6 @@ ///////////////////////////////////////////////////////////////////////////// -// Deutsch (Austria) -// resources by Klemens Friedl frik85 at hotmail dot com http://www.reactos.net.tc +// Deutsch +// resource file by Klemens Friedl (frik85@reactos.at; http://frik85.reactos.at) #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) #ifdef _WIN32 @@ -649,5 +649,63 @@ BEGIN IDS_LICENSE "Dieses Programm ist kostenlos; Sie können es frei verteilen mit od. ohne Änderungen unter der GNU Lesser General Public License wie es von der Free Software Foundation veröffentlicht wurde; entweder Version 2.1 der Lizenz, oder eine spätere Version (ihrer Wahl).\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA." END -#endif // Deutsch (Austria) resources by Klemens Friedl +STRINGTABLE DISCARDABLE +BEGIN + IDS_TAB_APPS "Anwendnungen" + IDS_TAB_PROCESSES "Prozesse" + IDS_TAB_PERFORMANCE "Systemleistung" + IDS_TAB_TASK "Anwendung" + IDS_TAB_STATUS "Status" + IDS_TAB_IMAGENAME "Name" + IDS_TAB_PID "PID" + IDS_TAB_USERNAME "Benutzername" + IDS_TAB_SESSIONID "Sitzungserkennung" + IDS_TAB_CPU "CPU-Auslastung" + IDS_TAB_CPUTIME "CPU-Zeit" + IDS_TAB_MEMUSAGE "Speicherauslastung" + IDS_TAB_PEAKMEMUSAGE "Veränd. der Speicherauslastung" + IDS_TAB_MEMDELTA "Maximale Speicherauslastung" + IDS_TAB_PAGEFAULT "Seitenfehler" + IDS_TAB_PFDELTA "Maximale Seitenfehler" + IDS_TAB_VMSIZE "Virtuelle Arbeitsspeichergröße" + IDS_TAB_PAGEDPOOL "Paged Pool" + IDS_TAB_NPPOOL "NP Pool" + IDS_TAB_BASEPRI "Basispri" + IDS_TAB_HANDLES "Handleanzahl" + IDS_TAB_THREADS "Threadanzahl" + IDS_TAB_USERPBJECTS "Benutzer-Objekte" + IDS_TAB_GDIOBJECTS "GDI-Objekte" + IDS_TAB_IOREADS "E/A (Lesen)" + IDS_TAB_IOWRITES "E/A (Schreiben)" + IDS_TAB_IOOTHER "E/A (Andere)" + IDS_TAB_IOREADBYTES "E/A-Bytes (Lesen)" + IDS_TAB_IOWRITESBYTES "E/A-Bytes (Schreiben)" + IDS_TAB_IOOTHERBYTES "E/A-Bytes (Andere)" + IDS_MENU_SELECTCOLUMNS "&Spalten auswählen..." + IDS_MENU_16BITTASK "&16-Bit-Tasks anzeigen" + IDS_MENU_WINDOWS "&Fenster" + IDS_MENU_LARGEICONS "&Große Symbole" + IDS_MENU_SMALLICONS "Kl&eine Symbole" + IDS_MENU_DETAILS "&Details" + IDS_MENU_ONEGRAPHALLCPUS "&Alle CPUs in einem Diagramm" + IDS_MENU_ONEGRAPHPERCPU "&Ein Diagramm pro CPU" + IDS_MENU_CPUHISTORY "&CPU Verlauf" + IDS_MENU_SHOWKERNELTIMES "&Kernel-Zeiten anzeigen" + IDS_CREATENEWTASK "Neuen Task erstellen" + IDS_CREATENEWTASK_DESC "Geben Sie Programme, Ordner, Dokumente oder Internetressourcen an, die geöffnet werden sollen." + IDS_MSG_ACCESSPROCESSAFF "Unable to Access or Set Process Affinity" + IDS_MSG_PROCESSONEPRO "Der Prozess muss eine Zugehörigkeit zu mindestens einem Prozessor aufweisen." + IDS_MSG_INVALIDOPTION "Ungültige Auswahl" + IDS_MSG_UNABLEDEBUGPROCESS "Unable to Debug Process" + IDS_MSG_WARNINGDEBUG "WARNUNG: Das Debuggen dieses Prozesses kann zu Datenverlust führen.\nSind Sie sicher, dass Sie diesen Prozess debuggen möchten?" + IDS_MSG_TASKMGRWARNING "Warnung vom Task-Manager" + IDS_MSG_WARNINGTERMINATING "WARNUNG: Das Abbrechen eines Prozesses kann zu\nunerwünschten Ergebnissen, einschließlich Datenverlust und\nSysteminstabilität, führen. Zustand und Daten des Prozesses\nwerden nicht mher gespeichert. Sind Sie sicher, dass Sie\nden Prozess abbrechen möchten?" + IDS_MSG_UNABLETERMINATEPRO "Unable to Terminate Process" + IDS_MSG_UNABLECHANGEPRIORITY "Unable to Change Priority" + IDS_MSG_WARNINGCHANGEPRIORITY "WARNUNG: Das Ändern der Prioritätsklasse dieses Prozesses\nkann zu unerwünschten Ergebnissen, einschl. Systeminstabilität, führen.\nSind Sie sicher, dass Sie ändern möchten?" + IDS_MSG_TRAYICONCPUUSAGE "CPU-Auslastung: %d%%" + +END + +#endif ///////////////////////////////////////////////////////////////////////////// diff --git a/reactos/subsys/system/taskmgr/En.rc b/reactos/subsys/system/taskmgr/En.rc index 05188f948be..8e3cd75f6f8 100644 --- a/reactos/subsys/system/taskmgr/En.rc +++ b/reactos/subsys/system/taskmgr/En.rc @@ -604,6 +604,66 @@ BEGIN IDS_LICENSE "This program is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.\r\n\r\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\r\n\r\nYou should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA." END + +STRINGTABLE DISCARDABLE +BEGIN + IDS_TAB_APPS "Applications" + IDS_TAB_PROCESSES "Processes" + IDS_TAB_PERFORMANCE "Performance" + IDS_TAB_TASK "Task" + IDS_TAB_STATUS "Status" + IDS_TAB_IMAGENAME "Image Name" + IDS_TAB_PID "PID" + IDS_TAB_USERNAME "Username" + IDS_TAB_SESSIONID "Session ID" + IDS_TAB_CPU "CPU" + IDS_TAB_CPUTIME "CPU Time" + IDS_TAB_MEMUSAGE "Mem Usage" + IDS_TAB_PEAKMEMUSAGE "Peak Mem Usage" + IDS_TAB_MEMDELTA "Mem Delta" + IDS_TAB_PAGEFAULT "Page Faults" + IDS_TAB_PFDELTA "PF Delta" + IDS_TAB_VMSIZE "VM Size" + IDS_TAB_PAGEDPOOL "Paged Pool" + IDS_TAB_NPPOOL "NP Pool" + IDS_TAB_BASEPRI "Base Pri" + IDS_TAB_HANDLES "Handles" + IDS_TAB_THREADS "Threads" + IDS_TAB_USERPBJECTS "USER Objects" + IDS_TAB_GDIOBJECTS "GDI Objects" + IDS_TAB_IOREADS "I/O Reads" + IDS_TAB_IOWRITES "I/O Writes" + IDS_TAB_IOOTHER "I/O Other" + IDS_TAB_IOREADBYTES "I/O Read Bytes" + IDS_TAB_IOWRITESBYTES "I/O Write Bytes" + IDS_TAB_IOOTHERBYTES "I/O Other Bytes" + IDS_MENU_SELECTCOLUMNS "&Select Columns..." + IDS_MENU_16BITTASK "&Show 16-bit tasks" + IDS_MENU_WINDOWS "&Windows" + IDS_MENU_LARGEICONS "Lar&ge Icons" + IDS_MENU_SMALLICONS "S&mall Icons" + IDS_MENU_DETAILS "&Details" + IDS_MENU_ONEGRAPHALLCPUS "&One Graph, All CPUs" + IDS_MENU_ONEGRAPHPERCPU "One Graph &Per CPU" + IDS_MENU_CPUHISTORY "&CPU History" + IDS_MENU_SHOWKERNELTIMES "&Show Kernel Times" + IDS_CREATENEWTASK "Create New Task" + IDS_CREATENEWTASK_DESC "Type the name of a program, folder, document, or Internet resource, and Task Manager will open it for you." + IDS_MSG_ACCESSPROCESSAFF "Unable to Access or Set Process Affinity" + IDS_MSG_PROCESSONEPRO "The process must have affinity with at least one processor." + IDS_MSG_INVALIDOPTION "Invalid Option" + IDS_MSG_UNABLEDEBUGPROCESS "Unable to Debug Process" + IDS_MSG_WARNINGDEBUG "WARNING: Debugging this process may result in loss of data.\nAre you sure you wish to attach the debugger?" + IDS_MSG_TASKMGRWARNING "Task Manager Warning" + IDS_MSG_WARNINGTERMINATING "WARNING: Terminating a process can cause undesired\nresults including loss of data and system instability. The\nprocess will not be given the chance to save its state or\ndata before it is terminated. Are you sure you want to\nterminate the process?" + IDS_MSG_UNABLETERMINATEPRO "Unable to Terminate Process" + IDS_MSG_UNABLECHANGEPRIORITY "Unable to Change Priority" + IDS_MSG_WARNINGCHANGEPRIORITY "WARNING: Changing the priority class of this process may\ncause undesired results including system instability. Are you\nsure you want to change the priority class?" + IDS_MSG_TRAYICONCPUUSAGE "CPU Usage: %d%%" + +END + + #endif // English (U.S.) resources ///////////////////////////////////////////////////////////////////////////// diff --git a/reactos/subsys/system/taskmgr/affinity.c b/reactos/subsys/system/taskmgr/affinity.c index 636df36a5aa..9bc30b64734 100644 --- a/reactos/subsys/system/taskmgr/affinity.c +++ b/reactos/subsys/system/taskmgr/affinity.c @@ -4,6 +4,7 @@ * affinity.cpp * * Copyright (C) 1999 - 2001 Brian Palmer + * 2005 Klemens Friedl * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -34,12 +35,14 @@ #include "perfdata.h" HANDLE hProcessAffinityHandle; +TCHAR szTemp[256]; +TCHAR szTempA[256]; INT_PTR CALLBACK AffinityDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); void ProcessPage_OnSetAffinity(void) { - LV_ITEM lvitem; + LV_ITEM lvitem; ULONG Index; DWORD dwProcessId; TCHAR strErrorText[260]; @@ -59,7 +62,8 @@ void ProcessPage_OnSetAffinity(void) hProcessAffinityHandle = OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_SET_INFORMATION, FALSE, dwProcessId); if (!hProcessAffinityHandle) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Access or Set Process Affinity"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_ACCESSPROCESSAFF, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); return; } DialogBox(hInst, MAKEINTRESOURCE(IDD_AFFINITY_DIALOG), hMainWnd, AffinityDialogWndProc); @@ -86,7 +90,8 @@ AffinityDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) if (!GetProcessAffinityMask(hProcessAffinityHandle, &dwProcessAffinityMask, &dwSystemAffinityMask)) { GetLastErrorText(strErrorText, 260); EndDialog(hDlg, 0); - MessageBox(hMainWnd, strErrorText, _T("Unable to Access or Set Process Affinity"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_ACCESSPROCESSAFF, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); } /* @@ -321,7 +326,9 @@ AffinityDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) * of it's cpu time. */ if (!dwProcessAffinityMask) { - MessageBox(hDlg, _T("The process must have affinity with at least one processor."), _T("Invalid Option"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_PROCESSONEPRO, szTemp, 256); + LoadString(hInst, IDS_MSG_INVALIDOPTION, szTempA, 256); + MessageBox(hDlg, szTemp, szTempA, MB_OK|MB_ICONSTOP); return TRUE; } @@ -331,7 +338,8 @@ AffinityDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) if (!SetProcessAffinityMask(hProcessAffinityHandle, dwProcessAffinityMask)) { GetLastErrorText(strErrorText, 260); EndDialog(hDlg, LOWORD(wParam)); - MessageBox(hMainWnd, strErrorText, _T("Unable to Access or Set Process Affinity"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_ACCESSPROCESSAFF, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); } EndDialog(hDlg, LOWORD(wParam)); diff --git a/reactos/subsys/system/taskmgr/applpage.c b/reactos/subsys/system/taskmgr/applpage.c index eca2e3fb6bc..29a918da91b 100644 --- a/reactos/subsys/system/taskmgr/applpage.c +++ b/reactos/subsys/system/taskmgr/applpage.c @@ -4,6 +4,7 @@ * applicationpage.cpp * * Copyright (C) 1999 - 2001 Brian Palmer + * 2005 Klemens Friedl * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -95,12 +96,13 @@ ApplicationPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) /* Initialize the application page's controls */ column.mask = LVCF_TEXT|LVCF_WIDTH; - _tcscpy(szTemp, _T("Task")); + + LoadString(hInst, IDS_TAB_TASK, szTemp, 256); column.pszText = szTemp; column.cx = 250; ListView_InsertColumn(hApplicationPageListCtrl, 0, &column); /* Add the "Task" column */ column.mask = LVCF_TEXT|LVCF_WIDTH; - _tcscpy(szTemp, _T("Status")); + LoadString(hInst, IDS_TAB_STATUS, szTemp, 256); column.pszText = szTemp; column.cx = 95; ListView_InsertColumn(hApplicationPageListCtrl, 1, &column); /* Add the "Status" column */ diff --git a/reactos/subsys/system/taskmgr/column.c b/reactos/subsys/system/taskmgr/column.c index f1590e88681..0d13ff0f0b5 100644 --- a/reactos/subsys/system/taskmgr/column.c +++ b/reactos/subsys/system/taskmgr/column.c @@ -4,6 +4,7 @@ * column.cpp * * Copyright (C) 1999 - 2001 Brian Palmer + * 2005 Klemens Friedl * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -32,6 +33,7 @@ #include "procpage.h" UINT ColumnDataHints[25]; +TCHAR szTemp[256]; int InsertColumn(int nCol, LPCTSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem); INT_PTR CALLBACK ColumnsDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam); @@ -40,56 +42,126 @@ void AddColumns(void) { int size; - if (TaskManagerSettings.Column_ImageName) - InsertColumn(0, _T("Image Name"), LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[0], -1); - if (TaskManagerSettings.Column_PID) - InsertColumn(1, _T("PID"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[1], -1); - if (TaskManagerSettings.Column_UserName) - InsertColumn(2, _T("Username"), LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[2], -1); - if (TaskManagerSettings.Column_SessionID) - InsertColumn(3, _T("Session ID"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[3], -1); - if (TaskManagerSettings.Column_CPUUsage) - InsertColumn(4, _T("CPU"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[4], -1); - if (TaskManagerSettings.Column_CPUTime) - InsertColumn(5, _T("CPU Time"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[5], -1); - if (TaskManagerSettings.Column_MemoryUsage) - InsertColumn(6, _T("Mem Usage"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[6], -1); - if (TaskManagerSettings.Column_PeakMemoryUsage) - InsertColumn(7, _T("Peak Mem Usage"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[7], -1); - if (TaskManagerSettings.Column_MemoryUsageDelta) - InsertColumn(8, _T("Mem Delta"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[8], -1); - if (TaskManagerSettings.Column_PageFaults) - InsertColumn(9, _T("Page Faults"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[9], -1); - if (TaskManagerSettings.Column_PageFaultsDelta) - InsertColumn(10, _T("PF Delta"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[10], -1); - if (TaskManagerSettings.Column_VirtualMemorySize) - InsertColumn(11, _T("VM Size"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[11], -1); - if (TaskManagerSettings.Column_PagedPool) - InsertColumn(12, _T("Paged Pool"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[12], -1); - if (TaskManagerSettings.Column_NonPagedPool) - InsertColumn(13, _T("NP Pool"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[13], -1); - if (TaskManagerSettings.Column_BasePriority) - InsertColumn(14, _T("Base Pri"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[14], -1); - if (TaskManagerSettings.Column_HandleCount) - InsertColumn(15, _T("Handles"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[15], -1); - if (TaskManagerSettings.Column_ThreadCount) - InsertColumn(16, _T("Threads"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[16], -1); - if (TaskManagerSettings.Column_USERObjects) - InsertColumn(17, _T("USER Objects"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[17], -1); - if (TaskManagerSettings.Column_GDIObjects) - InsertColumn(18, _T("GDI Objects"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[18], -1); - if (TaskManagerSettings.Column_IOReads) - InsertColumn(19, _T("I/O Reads"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[19], -1); - if (TaskManagerSettings.Column_IOWrites) - InsertColumn(20, _T("I/O Writes"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[20], -1); - if (TaskManagerSettings.Column_IOOther) - InsertColumn(21, _T("I/O Other"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[21], -1); - if (TaskManagerSettings.Column_IOReadBytes) - InsertColumn(22, _T("I/O Read Bytes"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[22], -1); - if (TaskManagerSettings.Column_IOWriteBytes) - InsertColumn(23, _T("I/O Write Bytes"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[23], -1); - if (TaskManagerSettings.Column_IOOtherBytes) - InsertColumn(24, _T("I/O Other Bytes"), LVCFMT_RIGHT, TaskManagerSettings.ColumnSizeArray[24], -1); + if (TaskManagerSettings.Column_ImageName) { + LoadString(hInst, IDS_TAB_IMAGENAME, szTemp, 256); + InsertColumn(0, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[0], -1); + } + if (TaskManagerSettings.Column_PID) { + LoadString(hInst, IDS_TAB_PID, szTemp, 256); + InsertColumn(1, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[1], -1); + } + if (TaskManagerSettings.Column_UserName) { + LoadString(hInst, IDS_TAB_USERNAME, szTemp, 256); + InsertColumn(2, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[2], -1); + } + if (TaskManagerSettings.Column_SessionID) { + LoadString(hInst, IDS_TAB_SESSIONID, szTemp, 256); + InsertColumn(3, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[3], -1); + } + if (TaskManagerSettings.Column_CPUUsage) { + LoadString(hInst, IDS_TAB_CPU, szTemp, 256); + InsertColumn(4, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[4], -1); + } + + if (TaskManagerSettings.Column_CPUTime) { + LoadString(hInst, IDS_TAB_CPUTIME, szTemp, 256); + InsertColumn(5, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[5], -1); + } + + if (TaskManagerSettings.Column_MemoryUsage) { + LoadString(hInst, IDS_TAB_MEMUSAGE, szTemp, 256); + InsertColumn(6, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[6], -1); + } + + if (TaskManagerSettings.Column_PeakMemoryUsage) { + LoadString(hInst, IDS_TAB_PEAKMEMUSAGE, szTemp, 256); + InsertColumn(7, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[7], -1); + } + + if (TaskManagerSettings.Column_MemoryUsageDelta) { + LoadString(hInst, IDS_TAB_MEMDELTA, szTemp, 256); + InsertColumn(8, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[8], -1); + } + + if (TaskManagerSettings.Column_PageFaults) { + LoadString(hInst, IDS_TAB_PAGEFAULT, szTemp, 256); + InsertColumn(9, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[9], -1); + } + + if (TaskManagerSettings.Column_PageFaultsDelta) { + LoadString(hInst, IDS_TAB_PFDELTA, szTemp, 256); + InsertColumn(10, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[10], -1); + } + + if (TaskManagerSettings.Column_VirtualMemorySize) { + LoadString(hInst, IDS_TAB_VMSIZE, szTemp, 256); + InsertColumn(11, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[11], -1); + } + + if (TaskManagerSettings.Column_PagedPool) { + LoadString(hInst, IDS_TAB_PAGEDPOOL, szTemp, 256); + InsertColumn(12, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[12], -1); + } + + if (TaskManagerSettings.Column_NonPagedPool) { + LoadString(hInst, IDS_TAB_NPPOOL, szTemp, 256); + InsertColumn(13, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[13], -1); + } + + if (TaskManagerSettings.Column_BasePriority) { + LoadString(hInst, IDS_TAB_BASEPRI, szTemp, 256); + InsertColumn(14, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[14], -1); + } + + if (TaskManagerSettings.Column_HandleCount) { + LoadString(hInst, IDS_TAB_HANDLES, szTemp, 256); + InsertColumn(15, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[15], -1); + } + + if (TaskManagerSettings.Column_ThreadCount) { + LoadString(hInst, IDS_TAB_THREADS, szTemp, 256); + InsertColumn(16, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[16], -1); + } + + if (TaskManagerSettings.Column_USERObjects) { + LoadString(hInst, IDS_TAB_USERPBJECTS, szTemp, 256); + InsertColumn(17, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[17], -1); + } + + if (TaskManagerSettings.Column_GDIObjects) { + LoadString(hInst, IDS_TAB_GDIOBJECTS, szTemp, 256); + InsertColumn(18, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[18], -1); + } + + if (TaskManagerSettings.Column_IOReads) { + LoadString(hInst, IDS_TAB_IOREADS, szTemp, 256); + InsertColumn(19, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[19], -1); + } + + if (TaskManagerSettings.Column_IOWrites) { + LoadString(hInst, IDS_TAB_IOWRITES, szTemp, 256); + InsertColumn(20, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[20], -1); + } + + if (TaskManagerSettings.Column_IOOther) { + LoadString(hInst, IDS_TAB_IOOTHER, szTemp, 256); + InsertColumn(21, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[21], -1); + } + + if (TaskManagerSettings.Column_IOReadBytes) { + LoadString(hInst, IDS_TAB_IOREADBYTES, szTemp, 256); + InsertColumn(22, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[22], -1); + } + + if (TaskManagerSettings.Column_IOWriteBytes) { + LoadString(hInst, IDS_TAB_IOWRITESBYTES, szTemp, 256); + InsertColumn(23, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[23], -1); + } + + if (TaskManagerSettings.Column_IOOtherBytes) { + LoadString(hInst, IDS_TAB_IOOTHERBYTES, szTemp, 256); + InsertColumn(24, szTemp, LVCFMT_LEFT, TaskManagerSettings.ColumnSizeArray[24], -1); + } size = SendMessage(hProcessPageHeaderCtrl, HDM_GETITEMCOUNT, 0, 0); SendMessage(hProcessPageHeaderCtrl, HDM_SETORDERARRAY, (WPARAM) size, (LPARAM) &TaskManagerSettings.ColumnOrderArray); @@ -196,127 +268,176 @@ void SaveColumnSettings(void) SendMessage(hProcessPageHeaderCtrl, HDM_GETITEM, i, (LPARAM) &hditem); - if (_tcsicmp(text, _T("Image Name")) == 0) + LoadString(hInst, IDS_TAB_IMAGENAME, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_ImageName = TRUE; TaskManagerSettings.ColumnSizeArray[0] = hditem.cxy; } - if (_tcsicmp(text, _T("PID")) == 0) + + LoadString(hInst, IDS_TAB_PID, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_PID = TRUE; TaskManagerSettings.ColumnSizeArray[1] = hditem.cxy; } - if (_tcsicmp(text, _T("Username")) == 0) + + LoadString(hInst, IDS_TAB_USERNAME, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_UserName = TRUE; TaskManagerSettings.ColumnSizeArray[2] = hditem.cxy; } - if (_tcsicmp(text, _T("Session ID")) == 0) + + LoadString(hInst, IDS_TAB_SESSIONID, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_SessionID = TRUE; TaskManagerSettings.ColumnSizeArray[3] = hditem.cxy; } - if (_tcsicmp(text, _T("CPU")) == 0) + + LoadString(hInst, IDS_TAB_CPU, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_CPUUsage = TRUE; TaskManagerSettings.ColumnSizeArray[4] = hditem.cxy; } - if (_tcsicmp(text, _T("CPU Time")) == 0) + + LoadString(hInst, IDS_TAB_CPUTIME, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_CPUTime = TRUE; TaskManagerSettings.ColumnSizeArray[5] = hditem.cxy; } - if (_tcsicmp(text, _T("Mem Usage")) == 0) + + LoadString(hInst, IDS_TAB_MEMUSAGE, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_MemoryUsage = TRUE; TaskManagerSettings.ColumnSizeArray[6] = hditem.cxy; } - if (_tcsicmp(text, _T("Peak Mem Usage")) == 0) + + LoadString(hInst, IDS_TAB_PEAKMEMUSAGE, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_PeakMemoryUsage = TRUE; TaskManagerSettings.ColumnSizeArray[7] = hditem.cxy; } - if (_tcsicmp(text, _T("Mem Delta")) == 0) + + LoadString(hInst, IDS_TAB_MEMDELTA, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_MemoryUsageDelta = TRUE; TaskManagerSettings.ColumnSizeArray[8] = hditem.cxy; } - if (_tcsicmp(text, _T("Page Faults")) == 0) + + LoadString(hInst, IDS_TAB_PAGEFAULT, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_PageFaults = TRUE; TaskManagerSettings.ColumnSizeArray[9] = hditem.cxy; } - if (_tcsicmp(text, _T("PF Delta")) == 0) + + LoadString(hInst, IDS_TAB_PFDELTA, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_PageFaultsDelta = TRUE; TaskManagerSettings.ColumnSizeArray[10] = hditem.cxy; } - if (_tcsicmp(text, _T("VM Size")) == 0) + + LoadString(hInst, IDS_TAB_VMSIZE, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_VirtualMemorySize = TRUE; TaskManagerSettings.ColumnSizeArray[11] = hditem.cxy; } - if (_tcsicmp(text, _T("Paged Pool")) == 0) + + LoadString(hInst, IDS_TAB_PAGEDPOOL, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_PagedPool = TRUE; TaskManagerSettings.ColumnSizeArray[12] = hditem.cxy; } - if (_tcsicmp(text, _T("NP Pool")) == 0) + + LoadString(hInst, IDS_TAB_NPPOOL, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_NonPagedPool = TRUE; TaskManagerSettings.ColumnSizeArray[13] = hditem.cxy; } - if (_tcsicmp(text, _T("Base Pri")) == 0) + + LoadString(hInst, IDS_TAB_BASEPRI, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_BasePriority = TRUE; TaskManagerSettings.ColumnSizeArray[14] = hditem.cxy; } - if (_tcsicmp(text, _T("Handles")) == 0) + + LoadString(hInst, IDS_TAB_HANDLES, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_HandleCount = TRUE; TaskManagerSettings.ColumnSizeArray[15] = hditem.cxy; } - if (_tcsicmp(text, _T("Threads")) == 0) + + LoadString(hInst, IDS_TAB_THREADS, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_ThreadCount = TRUE; TaskManagerSettings.ColumnSizeArray[16] = hditem.cxy; } - if (_tcsicmp(text, _T("USER Objects")) == 0) + + LoadString(hInst, IDS_TAB_USERPBJECTS, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_USERObjects = TRUE; TaskManagerSettings.ColumnSizeArray[17] = hditem.cxy; } - if (_tcsicmp(text, _T("GDI Objects")) == 0) + + LoadString(hInst, IDS_TAB_GDIOBJECTS, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_GDIObjects = TRUE; TaskManagerSettings.ColumnSizeArray[18] = hditem.cxy; } - if (_tcsicmp(text, _T("I/O Reads")) == 0) + + LoadString(hInst, IDS_TAB_IOREADS, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_IOReads = TRUE; TaskManagerSettings.ColumnSizeArray[19] = hditem.cxy; } - if (_tcsicmp(text, _T("I/O Writes")) == 0) + + LoadString(hInst, IDS_TAB_IOWRITES, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_IOWrites = TRUE; TaskManagerSettings.ColumnSizeArray[20] = hditem.cxy; } - if (_tcsicmp(text, _T("I/O Other")) == 0) + + LoadString(hInst, IDS_TAB_IOOTHER, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_IOOther = TRUE; TaskManagerSettings.ColumnSizeArray[21] = hditem.cxy; } - if (_tcsicmp(text, _T("I/O Read Bytes")) == 0) + + LoadString(hInst, IDS_TAB_IOREADBYTES, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_IOReadBytes = TRUE; TaskManagerSettings.ColumnSizeArray[22] = hditem.cxy; } - if (_tcsicmp(text, _T("I/O Write Bytes")) == 0) + + LoadString(hInst, IDS_TAB_IOWRITESBYTES, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_IOWriteBytes = TRUE; TaskManagerSettings.ColumnSizeArray[23] = hditem.cxy; } - if (_tcsicmp(text, _T("I/O Other Bytes")) == 0) + + LoadString(hInst, IDS_TAB_IOOTHERBYTES, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) { TaskManagerSettings.Column_IOOtherBytes = TRUE; TaskManagerSettings.ColumnSizeArray[24] = hditem.cxy; @@ -491,55 +612,104 @@ void UpdateColumnDataHints(void) SendMessage(hProcessPageHeaderCtrl, HDM_GETITEM, Index, (LPARAM) &hditem); - if (_tcsicmp(text, _T("Image Name")) == 0) + LoadString(hInst, IDS_TAB_IMAGENAME, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_IMAGENAME; - if (_tcsicmp(text, _T("PID")) == 0) + + LoadString(hInst, IDS_TAB_PID, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_PID; - if (_tcsicmp(text, _T("Username")) == 0) + + LoadString(hInst, IDS_TAB_USERNAME, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_USERNAME; - if (_tcsicmp(text, _T("Session ID")) == 0) + + LoadString(hInst, IDS_TAB_SESSIONID, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_SESSIONID; - if (_tcsicmp(text, _T("CPU")) == 0) + + LoadString(hInst, IDS_TAB_CPU, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_CPUUSAGE; - if (_tcsicmp(text, _T("CPU Time")) == 0) + + LoadString(hInst, IDS_TAB_CPUTIME, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_CPUTIME; - if (_tcsicmp(text, _T("Mem Usage")) == 0) + + LoadString(hInst, IDS_TAB_MEMUSAGE, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_MEMORYUSAGE; - if (_tcsicmp(text, _T("Peak Mem Usage")) == 0) + + LoadString(hInst, IDS_TAB_PEAKMEMUSAGE, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_PEAKMEMORYUSAGE; - if (_tcsicmp(text, _T("Mem Delta")) == 0) + + LoadString(hInst, IDS_TAB_MEMDELTA, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_MEMORYUSAGEDELTA; - if (_tcsicmp(text, _T("Page Faults")) == 0) + + LoadString(hInst, IDS_TAB_PAGEFAULT, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_PAGEFAULTS; - if (_tcsicmp(text, _T("PF Delta")) == 0) + + LoadString(hInst, IDS_TAB_PFDELTA, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_PAGEFAULTSDELTA; - if (_tcsicmp(text, _T("VM Size")) == 0) + + LoadString(hInst, IDS_TAB_VMSIZE, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_VIRTUALMEMORYSIZE; - if (_tcsicmp(text, _T("Paged Pool")) == 0) + + LoadString(hInst, IDS_TAB_PAGEDPOOL, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_PAGEDPOOL; - if (_tcsicmp(text, _T("NP Pool")) == 0) + + LoadString(hInst, IDS_TAB_NPPOOL, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_NONPAGEDPOOL; - if (_tcsicmp(text, _T("Base Pri")) == 0) + + LoadString(hInst, IDS_TAB_BASEPRI, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_BASEPRIORITY; - if (_tcsicmp(text, _T("Handles")) == 0) + + LoadString(hInst, IDS_TAB_HANDLES, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_HANDLECOUNT; - if (_tcsicmp(text, _T("Threads")) == 0) + + LoadString(hInst, IDS_TAB_THREADS, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_THREADCOUNT; - if (_tcsicmp(text, _T("USER Objects")) == 0) + + LoadString(hInst, IDS_TAB_USERPBJECTS, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_USEROBJECTS; - if (_tcsicmp(text, _T("GDI Objects")) == 0) + + LoadString(hInst, IDS_TAB_GDIOBJECTS, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_GDIOBJECTS; - if (_tcsicmp(text, _T("I/O Reads")) == 0) + + LoadString(hInst, IDS_TAB_IOREADS, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_IOREADS; - if (_tcsicmp(text, _T("I/O Writes")) == 0) + + LoadString(hInst, IDS_TAB_IOWRITES, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_IOWRITES; - if (_tcsicmp(text, _T("I/O Other")) == 0) + + LoadString(hInst, IDS_TAB_IOOTHER, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_IOOTHER; - if (_tcsicmp(text, _T("I/O Read Bytes")) == 0) + + LoadString(hInst, IDS_TAB_IOREADBYTES, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_IOREADBYTES; - if (_tcsicmp(text, _T("I/O Write Bytes")) == 0) + + LoadString(hInst, IDS_TAB_IOWRITESBYTES, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_IOWRITEBYTES; - if (_tcsicmp(text, _T("I/O Other Bytes")) == 0) + + LoadString(hInst, IDS_TAB_IOOTHERBYTES, szTemp, 256); + if (_tcsicmp(text, szTemp) == 0) ColumnDataHints[Index] = COLUMN_IOOTHERBYTES; } } diff --git a/reactos/subsys/system/taskmgr/debug.c b/reactos/subsys/system/taskmgr/debug.c index 21e0bf705ba..728096bbfd8 100644 --- a/reactos/subsys/system/taskmgr/debug.c +++ b/reactos/subsys/system/taskmgr/debug.c @@ -4,6 +4,7 @@ * debug.cpp * * Copyright (C) 1999 - 2001 Brian Palmer + * 2005 Klemens Friedl * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -35,17 +36,20 @@ void ProcessPage_OnDebug(void) { - LVITEM lvitem; + LVITEM lvitem; ULONG Index; DWORD dwProcessId; TCHAR strErrorText[260]; - HKEY hKey; + HKEY hKey; TCHAR strDebugPath[260]; TCHAR strDebugger[260]; DWORD dwDebuggerSize; - PROCESS_INFORMATION pi; - STARTUPINFO si; - HANDLE hDebugEvent; + PROCESS_INFORMATION pi; + STARTUPINFO si; + HANDLE hDebugEvent; + TCHAR szTemp[256]; + TCHAR szTempA[256]; + for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++) { @@ -66,17 +70,22 @@ void ProcessPage_OnDebug(void) if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0)) return; - if (MessageBox(hMainWnd, _T("WARNING: Debugging this process may result in loss of data.\nAre you sure you wish to attach the debugger?"), _T("Task Manager Warning"), MB_YESNO|MB_ICONWARNING) != IDYES) + LoadString(hInst, IDS_MSG_WARNINGDEBUG, szTemp, 256); + LoadString(hInst, IDS_MSG_TASKMGRWARNING, szTempA, 256); + + if (MessageBox(hMainWnd, szTemp, szTempA, MB_YESNO|MB_ICONWARNING) != IDYES) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Debug Process"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLEDEBUGPROCESS, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); return; } if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("Software\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug"), 0, KEY_READ, &hKey) != ERROR_SUCCESS) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Debug Process"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLEDEBUGPROCESS, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); return; } @@ -84,7 +93,8 @@ void ProcessPage_OnDebug(void) if (RegQueryValueEx(hKey, _T("Debugger"), NULL, NULL, (LPBYTE)strDebugger, &dwDebuggerSize) != ERROR_SUCCESS) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Debug Process"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLEDEBUGPROCESS, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); RegCloseKey(hKey); return; } @@ -95,7 +105,8 @@ void ProcessPage_OnDebug(void) if (!hDebugEvent) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Debug Process"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLEDEBUGPROCESS, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); return; } @@ -107,7 +118,8 @@ void ProcessPage_OnDebug(void) if (!CreateProcess(NULL, strDebugPath, NULL, NULL, FALSE, 0, NULL, NULL, &si, &pi)) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Debug Process"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLEDEBUGPROCESS, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); } CloseHandle(hDebugEvent); diff --git a/reactos/subsys/system/taskmgr/endproc.c b/reactos/subsys/system/taskmgr/endproc.c index 03f5b2dd22c..c79a731ca32 100644 --- a/reactos/subsys/system/taskmgr/endproc.c +++ b/reactos/subsys/system/taskmgr/endproc.c @@ -4,6 +4,7 @@ * endproc.cpp * * Copyright (C) 1999 - 2001 Brian Palmer + * 2005 Klemens Friedl * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -33,6 +34,9 @@ #include "procpage.h" #include "perfdata.h" +TCHAR szTemp[256]; +TCHAR szTempA[256]; + void ProcessPage_OnEndProcess(void) { LVITEM lvitem; @@ -60,7 +64,9 @@ void ProcessPage_OnEndProcess(void) if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0)) return; - if (MessageBox(hMainWnd, _T("WARNING: Terminating a process can cause undesired\nresults including loss of data and system instability. The\nprocess will not be given the chance to save its state or\ndata before it is terminated. Are you sure you want to\nterminate the process?"), _T("Task Manager Warning"), MB_YESNO|MB_ICONWARNING) != IDYES) + LoadString(hInst, IDS_MSG_WARNINGTERMINATING, szTemp, 256); + LoadString(hInst, IDS_MSG_TASKMGRWARNING, szTempA, 256); + if (MessageBox(hMainWnd, szTemp, szTempA, MB_YESNO|MB_ICONWARNING) != IDYES) return; hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, dwProcessId); @@ -68,14 +74,16 @@ void ProcessPage_OnEndProcess(void) if (!hProcess) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Terminate Process"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLETERMINATEPRO, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); return; } if (!TerminateProcess(hProcess, 0)) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Terminate Process"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLETERMINATEPRO, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); } CloseHandle(hProcess); @@ -108,7 +116,9 @@ void ProcessPage_OnEndProcessTree(void) if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0)) return; - if (MessageBox(hMainWnd, _T("WARNING: Terminating a process can cause undesired\nresults including loss of data and system instability. The\nprocess will not be given the chance to save its state or\ndata before it is terminated. Are you sure you want to\nterminate the process?"), _T("Task Manager Warning"), MB_YESNO|MB_ICONWARNING) != IDYES) + LoadString(hInst, IDS_MSG_WARNINGTERMINATING, szTemp, 256); + LoadString(hInst, IDS_MSG_TASKMGRWARNING, szTempA, 256); + if (MessageBox(hMainWnd, szTemp, szTempA, MB_YESNO|MB_ICONWARNING) != IDYES) return; hProcess = OpenProcess(PROCESS_TERMINATE, FALSE, dwProcessId); @@ -116,14 +126,16 @@ void ProcessPage_OnEndProcessTree(void) if (!hProcess) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Terminate Process"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLETERMINATEPRO, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); return; } if (!TerminateProcess(hProcess, 0)) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Terminate Process"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLETERMINATEPRO, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); } CloseHandle(hProcess); diff --git a/reactos/subsys/system/taskmgr/priority.c b/reactos/subsys/system/taskmgr/priority.c index c87969a9e2c..877cff4c8b0 100644 --- a/reactos/subsys/system/taskmgr/priority.c +++ b/reactos/subsys/system/taskmgr/priority.c @@ -4,6 +4,7 @@ * priority.c * * Copyright (C) 1999 - 2001 Brian Palmer + * 2005 Klemens Friedl * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -33,6 +34,9 @@ #include "procpage.h" #include "perfdata.h" +TCHAR szTemp[256]; +TCHAR szTempA[256]; + void ProcessPage_OnSetPriorityRealTime(void) { LVITEM lvitem; @@ -60,7 +64,9 @@ void ProcessPage_OnSetPriorityRealTime(void) if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0)) return; - if (MessageBox(hMainWnd, _T("WARNING: Changing the priority class of this process may\ncause undesired results including system instability. Are you\nsure you want to change the priority class?"), _T("Task Manager Warning"), MB_YESNO|MB_ICONWARNING) != IDYES) + LoadString(hInst, IDS_MSG_WARNINGCHANGEPRIORITY, szTemp, 256); + LoadString(hInst, IDS_MSG_TASKMGRWARNING, szTempA, 256); + if (MessageBox(hMainWnd, szTemp, szTempA, MB_YESNO|MB_ICONWARNING) != IDYES) return; hProcess = OpenProcess(PROCESS_SET_INFORMATION, FALSE, dwProcessId); @@ -68,14 +74,16 @@ void ProcessPage_OnSetPriorityRealTime(void) if (!hProcess) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Change Priority"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLECHANGEPRIORITY, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); return; } if (!SetPriorityClass(hProcess, REALTIME_PRIORITY_CLASS)) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Change Priority"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLECHANGEPRIORITY, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); } CloseHandle(hProcess); @@ -108,7 +116,9 @@ void ProcessPage_OnSetPriorityHigh(void) if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0)) return; - if (MessageBox(hMainWnd, _T("WARNING: Changing the priority class of this process may\ncause undesired results including system instability. Are you\nsure you want to change the priority class?"), _T("Task Manager Warning"), MB_YESNO|MB_ICONWARNING) != IDYES) + LoadString(hInst, IDS_MSG_WARNINGCHANGEPRIORITY, szTemp, 256); + LoadString(hInst, IDS_MSG_TASKMGRWARNING, szTempA, 256); + if (MessageBox(hMainWnd, szTemp, szTempA, MB_YESNO|MB_ICONWARNING) != IDYES) return; hProcess = OpenProcess(PROCESS_SET_INFORMATION, FALSE, dwProcessId); @@ -116,14 +126,16 @@ void ProcessPage_OnSetPriorityHigh(void) if (!hProcess) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Change Priority"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLECHANGEPRIORITY, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); return; } if (!SetPriorityClass(hProcess, HIGH_PRIORITY_CLASS)) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Change Priority"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLECHANGEPRIORITY, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); } CloseHandle(hProcess); @@ -156,7 +168,9 @@ void ProcessPage_OnSetPriorityAboveNormal(void) if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0)) return; - if (MessageBox(hMainWnd, _T("WARNING: Changing the priority class of this process may\ncause undesired results including system instability. Are you\nsure you want to change the priority class?"), _T("Task Manager Warning"), MB_YESNO|MB_ICONWARNING) != IDYES) + LoadString(hInst, IDS_MSG_WARNINGCHANGEPRIORITY, szTemp, 256); + LoadString(hInst, IDS_MSG_TASKMGRWARNING, szTempA, 256); + if (MessageBox(hMainWnd, szTemp, szTempA, MB_YESNO|MB_ICONWARNING) != IDYES) return; hProcess = OpenProcess(PROCESS_SET_INFORMATION, FALSE, dwProcessId); @@ -164,14 +178,16 @@ void ProcessPage_OnSetPriorityAboveNormal(void) if (!hProcess) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Change Priority"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLECHANGEPRIORITY, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); return; } if (!SetPriorityClass(hProcess, ABOVE_NORMAL_PRIORITY_CLASS)) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Change Priority"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLECHANGEPRIORITY, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); } CloseHandle(hProcess); @@ -204,7 +220,9 @@ void ProcessPage_OnSetPriorityNormal(void) if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0)) return; - if (MessageBox(hMainWnd, _T("WARNING: Changing the priority class of this process may\ncause undesired results including system instability. Are you\nsure you want to change the priority class?"), _T("Task Manager Warning"), MB_YESNO|MB_ICONWARNING) != IDYES) + LoadString(hInst, IDS_MSG_WARNINGCHANGEPRIORITY, szTemp, 256); + LoadString(hInst, IDS_MSG_TASKMGRWARNING, szTempA, 256); + if (MessageBox(hMainWnd, szTemp, szTempA, MB_YESNO|MB_ICONWARNING) != IDYES) return; hProcess = OpenProcess(PROCESS_SET_INFORMATION, FALSE, dwProcessId); @@ -212,14 +230,16 @@ void ProcessPage_OnSetPriorityNormal(void) if (!hProcess) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Change Priority"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLECHANGEPRIORITY, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); return; } if (!SetPriorityClass(hProcess, NORMAL_PRIORITY_CLASS)) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Change Priority"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLECHANGEPRIORITY, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); } CloseHandle(hProcess); @@ -252,7 +272,9 @@ void ProcessPage_OnSetPriorityBelowNormal(void) if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0)) return; - if (MessageBox(hMainWnd, _T("WARNING: Changing the priority class of this process may\ncause undesired results including system instability. Are you\nsure you want to change the priority class?"), _T("Task Manager Warning"), MB_YESNO|MB_ICONWARNING) != IDYES) + LoadString(hInst, IDS_MSG_WARNINGCHANGEPRIORITY, szTemp, 256); + LoadString(hInst, IDS_MSG_TASKMGRWARNING, szTempA, 256); + if (MessageBox(hMainWnd, szTemp, szTempA, MB_YESNO|MB_ICONWARNING) != IDYES) return; hProcess = OpenProcess(PROCESS_SET_INFORMATION, FALSE, dwProcessId); @@ -260,14 +282,16 @@ void ProcessPage_OnSetPriorityBelowNormal(void) if (!hProcess) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Change Priority"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLECHANGEPRIORITY, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); return; } if (!SetPriorityClass(hProcess, BELOW_NORMAL_PRIORITY_CLASS)) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Change Priority"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLECHANGEPRIORITY, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); } CloseHandle(hProcess); @@ -300,7 +324,9 @@ void ProcessPage_OnSetPriorityLow(void) if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0)) return; - if (MessageBox(hMainWnd, _T("WARNING: Changing the priority class of this process may\ncause undesired results including system instability. Are you\nsure you want to change the priority class?"), _T("Task Manager Warning"), MB_YESNO|MB_ICONWARNING) != IDYES) + LoadString(hInst, IDS_MSG_WARNINGCHANGEPRIORITY, szTemp, 256); + LoadString(hInst, IDS_MSG_TASKMGRWARNING, szTempA, 256); + if (MessageBox(hMainWnd, szTemp, szTempA, MB_YESNO|MB_ICONWARNING) != IDYES) return; hProcess = OpenProcess(PROCESS_SET_INFORMATION, FALSE, dwProcessId); @@ -308,14 +334,16 @@ void ProcessPage_OnSetPriorityLow(void) if (!hProcess) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Change Priority"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLECHANGEPRIORITY, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); return; } if (!SetPriorityClass(hProcess, IDLE_PRIORITY_CLASS)) { GetLastErrorText(strErrorText, 260); - MessageBox(hMainWnd, strErrorText, _T("Unable to Change Priority"), MB_OK|MB_ICONSTOP); + LoadString(hInst, IDS_MSG_UNABLECHANGEPRIORITY, szTemp, 256); + MessageBox(hMainWnd, strErrorText, szTemp, MB_OK|MB_ICONSTOP); } CloseHandle(hProcess); diff --git a/reactos/subsys/system/taskmgr/resource.h b/reactos/subsys/system/taskmgr/resource.h index 49a45774ddd..4b248e19c90 100644 --- a/reactos/subsys/system/taskmgr/resource.h +++ b/reactos/subsys/system/taskmgr/resource.h @@ -183,6 +183,61 @@ #define IDS_LICENSE 32816 #define IDC_STATIC -1 +#define IDS_TAB_APPS 310 +#define IDS_TAB_PROCESSES 311 +#define IDS_TAB_PERFORMANCE 312 +#define IDS_TAB_TASK 313 +#define IDS_TAB_STATUS 314 +#define IDS_TAB_IMAGENAME 315 +#define IDS_TAB_PID 316 +#define IDS_TAB_USERNAME 317 +#define IDS_TAB_SESSIONID 318 +#define IDS_TAB_CPU 319 +#define IDS_TAB_CPUTIME 320 +#define IDS_TAB_MEMUSAGE 321 +#define IDS_TAB_PEAKMEMUSAGE 322 +#define IDS_TAB_MEMDELTA 323 +#define IDS_TAB_PAGEFAULT 324 +#define IDS_TAB_PFDELTA 325 +#define IDS_TAB_VMSIZE 326 +#define IDS_TAB_PAGEDPOOL 327 +#define IDS_TAB_NPPOOL 328 +#define IDS_TAB_BASEPRI 329 +#define IDS_TAB_HANDLES 330 +#define IDS_TAB_THREADS 331 +#define IDS_TAB_USERPBJECTS 332 +#define IDS_TAB_GDIOBJECTS 333 +#define IDS_TAB_IOREADS 334 +#define IDS_TAB_IOWRITES 335 +#define IDS_TAB_IOOTHER 336 +#define IDS_TAB_IOREADBYTES 337 +#define IDS_TAB_IOWRITESBYTES 338 +#define IDS_TAB_IOOTHERBYTES 339 +#define IDS_MENU_SELECTCOLUMNS 340 +#define IDS_MENU_16BITTASK 341 +#define IDS_MENU_WINDOWS 342 +#define IDS_MENU_LARGEICONS 343 +#define IDS_MENU_SMALLICONS 344 +#define IDS_MENU_DETAILS 345 +#define IDS_MENU_ONEGRAPHALLCPUS 346 +#define IDS_MENU_ONEGRAPHPERCPU 347 +#define IDS_MENU_CPUHISTORY 348 +#define IDS_MENU_SHOWKERNELTIMES 349 +#define IDS_CREATENEWTASK 350 +#define IDS_CREATENEWTASK_DESC 351 +#define IDS_MSG_ACCESSPROCESSAFF 352 +#define IDS_MSG_PROCESSONEPRO 353 +#define IDS_MSG_INVALIDOPTION 354 +#define IDS_MSG_UNABLEDEBUGPROCESS 355 +#define IDS_MSG_WARNINGDEBUG 356 +#define IDS_MSG_TASKMGRWARNING 357 +#define IDS_MSG_WARNINGTERMINATING 358 +#define IDS_MSG_UNABLETERMINATEPRO 359 +#define IDS_MSG_UNABLECHANGEPRIORITY 360 +#define IDS_MSG_WARNINGCHANGEPRIORITY 361 +#define IDS_MSG_TRAYICONCPUUSAGE 362 + + // Next default values for new objects // #ifdef APSTUDIO_INVOKED diff --git a/reactos/subsys/system/taskmgr/run.c b/reactos/subsys/system/taskmgr/run.c index 88ff88d981f..052c99fe9d5 100644 --- a/reactos/subsys/system/taskmgr/run.c +++ b/reactos/subsys/system/taskmgr/run.c @@ -4,6 +4,7 @@ * run.c * * Copyright (C) 1999 - 2001 Brian Palmer + * 2005 Klemens Friedl * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -32,13 +33,22 @@ void TaskManager_OnFileNew(void) { - HMODULE hShell32; - RUNFILEDLG RunFileDlg; + HMODULE hShell32; + RUNFILEDLG RunFileDlg; OSVERSIONINFO versionInfo; WCHAR wTitle[40]; WCHAR wText[256]; - char szTitle[40] = "Create New Task"; - char szText[256] = "Type the name of a program, folder, document, or Internet resource, and Task Manager will open it for you."; + TCHAR szTemp[256]; + char szTitle[40]; + char szText[256]; + + /* Load language string from resource file */ + LoadString(hInst, IDS_CREATENEWTASK, szTemp, 40); + strcpy(szTitle,szTemp); + + LoadString(hInst, IDS_CREATENEWTASK_DESC, szTemp, 256); + strcpy(szText,szTemp); + hShell32 = LoadLibrary(_T("SHELL32.DLL")); RunFileDlg = (RUNFILEDLG)(FARPROC)GetProcAddress(hShell32, (char*)((long)0x3D)); diff --git a/reactos/subsys/system/taskmgr/taskmgr.c b/reactos/subsys/system/taskmgr/taskmgr.c index abae3b83301..13eb8185444 100644 --- a/reactos/subsys/system/taskmgr/taskmgr.c +++ b/reactos/subsys/system/taskmgr/taskmgr.c @@ -4,6 +4,7 @@ * TaskMgr.c : Defines the entry point for the application. * * Copyright (C) 1999 - 2001 Brian Palmer + * 2005 Klemens Friedl * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -481,17 +482,17 @@ BOOL OnCreate(HWND hWnd) #endif /* Insert tabs */ - _tcscpy(szTemp, _T("Applications")); + LoadString(hInst, IDS_TAB_APPS, szTemp, 256); memset(&item, 0, sizeof(TCITEM)); item.mask = TCIF_TEXT; item.pszText = szTemp; TabCtrl_InsertItem(hTabWnd, 0, &item); - _tcscpy(szTemp, _T("Processes")); + LoadString(hInst, IDS_TAB_PROCESSES, szTemp, 256); memset(&item, 0, sizeof(TCITEM)); item.mask = TCIF_TEXT; item.pszText = szTemp; TabCtrl_InsertItem(hTabWnd, 1, &item); - _tcscpy(szTemp, _T("Performance")); + LoadString(hInst, IDS_TAB_PERFORMANCE, szTemp, 256); memset(&item, 0, sizeof(TCITEM)); item.mask = TCIF_TEXT; item.pszText = szTemp; @@ -954,6 +955,7 @@ void TaskManager_OnTabWndSelChange(void) HMENU hOptionsMenu; HMENU hViewMenu; HMENU hSubMenu; + TCHAR szTemp[256]; hMenu = GetMenu(hMainWnd); hViewMenu = GetSubMenu(hMenu, 2); @@ -972,13 +974,22 @@ void TaskManager_OnTabWndSelChange(void) ShowWindow(hProcessPage, SW_HIDE); ShowWindow(hPerformancePage, SW_HIDE); BringWindowToTop(hApplicationPage); - AppendMenu(hViewMenu, MF_STRING, ID_VIEW_LARGE, _T("Lar&ge Icons")); - AppendMenu(hViewMenu, MF_STRING, ID_VIEW_SMALL, _T("S&mall Icons")); - AppendMenu(hViewMenu, MF_STRING, ID_VIEW_DETAILS, _T("&Details")); + + LoadString(hInst, IDS_MENU_LARGEICONS, szTemp, 256); + AppendMenu(hViewMenu, MF_STRING, ID_VIEW_LARGE, szTemp); + + LoadString(hInst, IDS_MENU_SMALLICONS, szTemp, 256); + AppendMenu(hViewMenu, MF_STRING, ID_VIEW_SMALL, szTemp); + + LoadString(hInst, IDS_MENU_DETAILS, szTemp, 256); + AppendMenu(hViewMenu, MF_STRING, ID_VIEW_DETAILS, szTemp); if (GetMenuItemCount(hMenu) <= 4) { hSubMenu = LoadMenu(hInst, MAKEINTRESOURCE(IDR_WINDOWSMENU)); - InsertMenu(hMenu, 3, MF_BYPOSITION|MF_POPUP, (UINT)hSubMenu, _T("&Windows")); + + LoadString(hInst, IDS_MENU_WINDOWS, szTemp, 256); + InsertMenu(hMenu, 3, MF_BYPOSITION|MF_POPUP, (UINT)hSubMenu, szTemp); + DrawMenuBar(hMainWnd); } if (TaskManagerSettings.View_LargeIcons) @@ -998,8 +1009,13 @@ void TaskManager_OnTabWndSelChange(void) ShowWindow(hProcessPage, SW_SHOW); ShowWindow(hPerformancePage, SW_HIDE); BringWindowToTop(hProcessPage); - AppendMenu(hViewMenu, MF_STRING, ID_VIEW_SELECTCOLUMNS, _T("&Select Columns...")); - AppendMenu(hOptionsMenu, MF_STRING, ID_OPTIONS_SHOW16BITTASKS, _T("&Show 16-bit tasks")); + + LoadString(hInst, IDS_MENU_SELECTCOLUMNS, szTemp, 256); + AppendMenu(hViewMenu, MF_STRING, ID_VIEW_SELECTCOLUMNS, szTemp); + + LoadString(hInst, IDS_MENU_16BITTASK, szTemp, 256); + AppendMenu(hOptionsMenu, MF_STRING, ID_OPTIONS_SHOW16BITTASKS, szTemp); + if (TaskManagerSettings.Show16BitTasks) CheckMenuItem(hOptionsMenu, ID_OPTIONS_SHOW16BITTASKS, MF_BYCOMMAND|MF_CHECKED); if (GetMenuItemCount(hMenu) > 4) @@ -1023,10 +1039,19 @@ void TaskManager_OnTabWndSelChange(void) DrawMenuBar(hMainWnd); } hSubMenu = CreatePopupMenu(); - AppendMenu(hSubMenu, MF_STRING, ID_VIEW_CPUHISTORY_ONEGRAPHALL, _T("&One Graph, All CPUs")); - AppendMenu(hSubMenu, MF_STRING, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, _T("One Graph &Per CPU")); - AppendMenu(hViewMenu, MF_STRING|MF_POPUP, (UINT)hSubMenu, _T("&CPU History")); - AppendMenu(hViewMenu, MF_STRING, ID_VIEW_SHOWKERNELTIMES, _T("&Show Kernel Times")); + + LoadString(hInst, IDS_MENU_ONEGRAPHALLCPUS, szTemp, 256); + AppendMenu(hSubMenu, MF_STRING, ID_VIEW_CPUHISTORY_ONEGRAPHALL, szTemp); + + LoadString(hInst, IDS_MENU_ONEGRAPHPERCPU, szTemp, 256); + AppendMenu(hSubMenu, MF_STRING, ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU, szTemp); + + LoadString(hInst, IDS_MENU_CPUHISTORY, szTemp, 256); + AppendMenu(hViewMenu, MF_STRING|MF_POPUP, (UINT)hSubMenu, szTemp); + + LoadString(hInst, IDS_MENU_SHOWKERNELTIMES, szTemp, 256); + AppendMenu(hViewMenu, MF_STRING, ID_VIEW_SHOWKERNELTIMES, szTemp); + if (TaskManagerSettings.ShowKernelTimes) CheckMenuItem(hViewMenu, ID_VIEW_SHOWKERNELTIMES, MF_BYCOMMAND|MF_CHECKED); else diff --git a/reactos/subsys/system/taskmgr/trayicon.c b/reactos/subsys/system/taskmgr/trayicon.c index 1955b7a6948..29acba67412 100644 --- a/reactos/subsys/system/taskmgr/trayicon.c +++ b/reactos/subsys/system/taskmgr/trayicon.c @@ -4,6 +4,7 @@ * trayicon.c * * Copyright (C) 1999 - 2001 Brian Palmer + * 2005 Klemens Friedl * * This library is free software; you can redistribute it and/or * modify it under the terms of the GNU Lesser General Public @@ -186,9 +187,10 @@ BOOL TrayIcon_ShellRemoveTrayIcon(void) BOOL TrayIcon_ShellUpdateTrayIcon(void) { - NOTIFYICONDATA nid; - HICON hIcon = NULL; + NOTIFYICONDATA nid; + HICON hIcon = NULL; BOOL bRetVal; + TCHAR szTemp[256]; memset(&nid, 0, sizeof(NOTIFYICONDATA)); @@ -200,7 +202,8 @@ BOOL TrayIcon_ShellUpdateTrayIcon(void) nid.uFlags = NIF_ICON | NIF_MESSAGE | NIF_TIP; nid.uCallbackMessage = WM_ONTRAYICON; nid.hIcon = hIcon; - wsprintf(nid.szTip, _T("CPU Usage: %d%%"), PerfDataGetProcessorUsage()); + LoadString(hInst, IDS_MSG_TRAYICONCPUUSAGE, szTemp, 256); + wsprintf(nid.szTip, szTemp, PerfDataGetProcessorUsage()); bRetVal = Shell_NotifyIcon(NIM_MODIFY, &nid); -- 2.17.1