- Allow task manager to activate and restore a previous instance when the mutex already exists
- Make application title identical to the window title for languages where it wasn't
svn path=/trunk/; revision=44801
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME
-CAPTION "ReactOS Task Manager"
+CAPTION "Task Manager"
MENU IDR_TASKMANAGER
FONT 8, "MS Shell Dlg"
BEGIN
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME
-CAPTION "Gestionnaire des tâches ReactOS"
+CAPTION "Gestionnaire des tâches"
MENU IDR_TASKMANAGER
FONT 8, "MS Shell Dlg"
BEGIN
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME
-CAPTION "ReactOS \83^\83X\83N \83}\83l\81[\83W\83\83"
+CAPTION "\83^\83X\83N \83}\83l\81[\83W\83\83"
MENU IDR_TASKMANAGER
FONT 9, "MS UI Gothic"
BEGIN
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME
-CAPTION "ReactOS ÀÛ¾÷ °ü¸®ÀÚ"
+CAPTION "ÀÛ¾÷ °ü¸®ÀÚ"
MENU IDR_TASKMANAGER
FONT 8, "MS Shell Dlg"
BEGIN
STRINGTABLE DISCARDABLE
BEGIN
- IDS_APP_TITLE "ÀÛ¾÷ °ü¸®ÀÚ"
+ IDS_APP_TITLE "ÀÛ¾÷ °ü¸®ÀÚ"
IDC_TASKMGR "ÀÛ¾÷ °ü¸®ÀÚ"
IDS_IDLE_PROCESS "System Idle Process"
END
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME
-CAPTION "Reactos Taakbeheer"
+CAPTION "Taakbeheer"
MENU IDR_TASKMANAGER
FONT 8, "MS Shell Dlg"
BEGIN
STRINGTABLE DISCARDABLE
BEGIN
- IDS_APP_TITLE "Reactos Taakbeheer"
+ IDS_APP_TITLE "Taakbeheer"
IDC_TASKMGR "Taakbeheer"
IDS_IDLE_PROCESS "Niet-actieve systeemprocessen"
END
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME
-CAPTION "Gestionarul de activități ReactOS"
+CAPTION "Gestionarul de activități"
MENU IDR_TASKMANAGER
FONT 8, "MS Shell Dlg"
BEGIN
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME
-CAPTION "Správca úloh systému ReactOS"
+CAPTION "Správca úloh systému"
MENU IDR_TASKMANAGER
FONT 8, "MS Shell Dlg"
BEGIN
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME
-CAPTION "Äèñïåò÷åð çàâäàíü ReactOS"
+CAPTION "Äèñïåò÷åð çàâäàíü"
MENU IDR_TASKMANAGER
FONT 8, "MS Shell Dlg"
BEGIN
STYLE DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME
-CAPTION "ReactOS ÈÎÎñ¹ÜÀíÆ÷"
+CAPTION "ÈÎÎñ¹ÜÀíÆ÷"
MENU IDR_TASKMANAGER
FONT 8, "MS Shell Dlg"
BEGIN
/* check wether we're already running or not */
hMutex = CreateMutexW(NULL, TRUE, L"taskmgrros");
- if ((!hMutex) || (GetLastError() == ERROR_ALREADY_EXISTS))
+ if (hMutex && GetLastError() == ERROR_ALREADY_EXISTS)
+ {
+ /* Restore existing taskmanager and bring window to front */
+ /* Relies on the fact that the application title string and window title are the same */
+ HWND hTaskMgr;
+ TCHAR szTaskmgr[128];
+
+ LoadString(hInst, IDS_APP_TITLE, szTaskmgr, sizeof(szTaskmgr)/sizeof(TCHAR));
+ hTaskMgr = FindWindow(NULL, szTaskmgr);
+
+ if (hTaskMgr != NULL)
+ {
+ SendMessage(hTaskMgr, WM_SYSCOMMAND, SC_RESTORE, 0);
+ SetForegroundWindow(hTaskMgr);
+ }
+ return 0;
+ }
+ else if (!hMutex)
+ {
return 1;
+ }
/* Initialize global variables */
hInst = hInstance;