Index: base/applications/taskmgr/taskmgr.c =================================================================== --- base/applications/taskmgr/taskmgr.c (revision 65128) +++ base/applications/taskmgr/taskmgr.c (working copy) @@ -564,6 +564,7 @@ HMENU hMenu; HMENU hEditMenu; HMENU hViewMenu; + HMENU hPoweMenu; HMENU hUpdateSpeedMenu; HMENU hCPUHistoryMenu; int nActivePage; @@ -570,8 +571,12 @@ int nParts[3]; RECT rc; WCHAR szTemp[256]; + WCHAR szLogOffItem[MAX_PATH]; + WCHAR szUsername[MAX_PATH]; TCITEM item; + DWORD len = 256; + SendMessageW(hMainWnd, WM_SETICON, ICON_BIG, (LPARAM)LoadIconW(hInst, MAKEINTRESOURCEW(IDI_TASKMANAGER))); /* Initialize the Windows Common Controls DLL */ @@ -653,8 +658,9 @@ hMenu = GetMenu(hWnd); hEditMenu = GetSubMenu(hMenu, 1); hViewMenu = GetSubMenu(hMenu, 2); + hPoweMenu = GetSubMenu(hMenu, 4); hUpdateSpeedMenu = GetSubMenu(hViewMenu, 1); - hCPUHistoryMenu = GetSubMenu(hViewMenu, 7); + hCPUHistoryMenu = GetSubMenu(hViewMenu, 7); /* Check or uncheck the always on top menu item */ if (TaskManagerSettings.AlwaysOnTop) { @@ -704,6 +710,14 @@ TabCtrl_SetCurFocus/*Sel*/(hTabWnd, 2); TabCtrl_SetCurFocus/*Sel*/(hTabWnd, nActivePage); + /* Set the username in the "Log Off %s" item of the Shutdown menu */ + GetMenuStringW(hPoweMenu, ID_SHUTDOWN_LOGOFF, szTemp, 256, MF_BYCOMMAND); + GetUserNameW(szUsername, &len); + + wsprintfW(szLogOffItem, szTemp, szUsername); + + ModifyMenuW(hPoweMenu, ID_SHUTDOWN_LOGOFF, MF_BYCOMMAND|MF_STRING, ID_SHUTDOWN_LOGOFF, szLogOffItem); + /* Setup update speed */ SetUpdateSpeed(hWnd);