[taskmgr]

- 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
This commit is contained in:
Gregor Schneider 2009-12-29 17:55:44 +00:00
parent e30be53d56
commit ff89b8ac95
10 changed files with 31 additions and 12 deletions

View file

@ -165,7 +165,7 @@ IDD_TASKMGR_DIALOG DIALOGEX DISCARDABLE 0, 0, 264, 246
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME WS_THICKFRAME
CAPTION "ReactOS Task Manager" CAPTION "Task Manager"
MENU IDR_TASKMANAGER MENU IDR_TASKMANAGER
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN

View file

@ -165,7 +165,7 @@ IDD_TASKMGR_DIALOG DIALOGEX DISCARDABLE 0, 0, 264, 246
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME WS_THICKFRAME
CAPTION "Gestionnaire des tâches ReactOS" CAPTION "Gestionnaire des tâches"
MENU IDR_TASKMANAGER MENU IDR_TASKMANAGER
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN

View file

@ -165,7 +165,7 @@ IDD_TASKMGR_DIALOG DIALOGEX DISCARDABLE 0, 0, 264, 246
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME WS_THICKFRAME
CAPTION "ReactOS タスク マネージャ" CAPTION "タスク マネージャ"
MENU IDR_TASKMANAGER MENU IDR_TASKMANAGER
FONT 9, "MS UI Gothic" FONT 9, "MS UI Gothic"
BEGIN BEGIN

View file

@ -168,7 +168,7 @@ IDD_TASKMGR_DIALOG DIALOGEX DISCARDABLE 0, 0, 264, 246
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME WS_THICKFRAME
CAPTION "ReactOS 작업 관리자" CAPTION "작업 관리자"
MENU IDR_TASKMANAGER MENU IDR_TASKMANAGER
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
@ -523,7 +523,7 @@ END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE
BEGIN BEGIN
IDS_APP_TITLE "작업 관리자" IDS_APP_TITLE "작업 관리자"
IDC_TASKMGR "작업 관리자" IDC_TASKMGR "작업 관리자"
IDS_IDLE_PROCESS "System Idle Process" IDS_IDLE_PROCESS "System Idle Process"
END END

View file

@ -165,7 +165,7 @@ IDD_TASKMGR_DIALOG DIALOGEX DISCARDABLE 0, 0, 264, 246
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME WS_THICKFRAME
CAPTION "Reactos Taakbeheer" CAPTION "Taakbeheer"
MENU IDR_TASKMANAGER MENU IDR_TASKMANAGER
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN
@ -523,7 +523,7 @@ END
STRINGTABLE DISCARDABLE STRINGTABLE DISCARDABLE
BEGIN BEGIN
IDS_APP_TITLE "Reactos Taakbeheer" IDS_APP_TITLE "Taakbeheer"
IDC_TASKMGR "Taakbeheer" IDC_TASKMGR "Taakbeheer"
IDS_IDLE_PROCESS "Niet-actieve systeemprocessen" IDS_IDLE_PROCESS "Niet-actieve systeemprocessen"
END END

View file

@ -165,7 +165,7 @@ IDD_TASKMGR_DIALOG DIALOGEX DISCARDABLE 0, 0, 264, 246
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME WS_THICKFRAME
CAPTION "Gestionarul de activități ReactOS" CAPTION "Gestionarul de activități"
MENU IDR_TASKMANAGER MENU IDR_TASKMANAGER
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN

View file

@ -164,7 +164,7 @@ IDD_TASKMGR_DIALOG DIALOGEX DISCARDABLE 0, 0, 264, 246
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME WS_THICKFRAME
CAPTION "Správca úloh systému ReactOS" CAPTION "Správca úloh systému"
MENU IDR_TASKMANAGER MENU IDR_TASKMANAGER
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN

View file

@ -165,7 +165,7 @@ IDD_TASKMGR_DIALOG DIALOGEX DISCARDABLE 0, 0, 264, 246
STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | STYLE DS_SHELLFONT | DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME WS_THICKFRAME
CAPTION "Äèñïåò÷åð çàâäàíü ReactOS" CAPTION "Äèñïåò÷åð çàâäàíü"
MENU IDR_TASKMANAGER MENU IDR_TASKMANAGER
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN

View file

@ -173,7 +173,7 @@ IDD_TASKMGR_DIALOG DIALOGEX DISCARDABLE 0, 0, 264, 246
STYLE DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | STYLE DS_CENTER | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP |
WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU | WS_CLIPSIBLINGS | WS_CLIPCHILDREN | WS_CAPTION | WS_SYSMENU |
WS_THICKFRAME WS_THICKFRAME
CAPTION "ReactOS 任务管理器" CAPTION "任务管理器"
MENU IDR_TASKMANAGER MENU IDR_TASKMANAGER
FONT 8, "MS Shell Dlg" FONT 8, "MS Shell Dlg"
BEGIN BEGIN

View file

@ -55,8 +55,27 @@ int APIENTRY wWinMain(HINSTANCE hInstance,
/* check wether we're already running or not */ /* check wether we're already running or not */
hMutex = CreateMutexW(NULL, TRUE, L"taskmgrros"); 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; return 1;
}
/* Initialize global variables */ /* Initialize global variables */
hInst = hInstance; hInst = hInstance;