mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 04:46:37 +00:00
[TASKMGR]
Displays the current user name in the TaskMgr shutdown menu. Patch by Ismael Ferreras Morezuelas (swyter) with minor modifications by me. CORE-8536 #resolve #comment Committed in r65339, thanks! svn path=/trunk/; revision=65339
This commit is contained in:
parent
20f7791d4b
commit
05790cd38d
2 changed files with 36 additions and 1 deletions
|
@ -5,6 +5,7 @@
|
||||||
#error Task-Manager uses NDK functions, so it can only be compiled with Unicode support enabled!
|
#error Task-Manager uses NDK functions, so it can only be compiled with Unicode support enabled!
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <stdarg.h>
|
#include <stdarg.h>
|
||||||
|
|
||||||
|
|
|
@ -564,13 +564,17 @@ BOOL OnCreate(HWND hWnd)
|
||||||
HMENU hMenu;
|
HMENU hMenu;
|
||||||
HMENU hEditMenu;
|
HMENU hEditMenu;
|
||||||
HMENU hViewMenu;
|
HMENU hViewMenu;
|
||||||
|
HMENU hShutMenu;
|
||||||
HMENU hUpdateSpeedMenu;
|
HMENU hUpdateSpeedMenu;
|
||||||
HMENU hCPUHistoryMenu;
|
HMENU hCPUHistoryMenu;
|
||||||
int nActivePage;
|
int nActivePage;
|
||||||
int nParts[3];
|
int nParts[3];
|
||||||
RECT rc;
|
RECT rc;
|
||||||
WCHAR szTemp[256];
|
WCHAR szTemp[256];
|
||||||
|
WCHAR szLogOffItem[MAX_PATH];
|
||||||
|
LPTSTR lpUserName;
|
||||||
TCITEM item;
|
TCITEM item;
|
||||||
|
DWORD len = 0;
|
||||||
|
|
||||||
SendMessageW(hMainWnd, WM_SETICON, ICON_BIG, (LPARAM)LoadIconW(hInst, MAKEINTRESOURCEW(IDI_TASKMANAGER)));
|
SendMessageW(hMainWnd, WM_SETICON, ICON_BIG, (LPARAM)LoadIconW(hInst, MAKEINTRESOURCEW(IDI_TASKMANAGER)));
|
||||||
|
|
||||||
|
@ -653,8 +657,9 @@ BOOL OnCreate(HWND hWnd)
|
||||||
hMenu = GetMenu(hWnd);
|
hMenu = GetMenu(hWnd);
|
||||||
hEditMenu = GetSubMenu(hMenu, 1);
|
hEditMenu = GetSubMenu(hMenu, 1);
|
||||||
hViewMenu = GetSubMenu(hMenu, 2);
|
hViewMenu = GetSubMenu(hMenu, 2);
|
||||||
|
hShutMenu = GetSubMenu(hMenu, 4);
|
||||||
hUpdateSpeedMenu = GetSubMenu(hViewMenu, 1);
|
hUpdateSpeedMenu = GetSubMenu(hViewMenu, 1);
|
||||||
hCPUHistoryMenu = GetSubMenu(hViewMenu, 7);
|
hCPUHistoryMenu = GetSubMenu(hViewMenu, 7);
|
||||||
|
|
||||||
/* Check or uncheck the always on top menu item */
|
/* Check or uncheck the always on top menu item */
|
||||||
if (TaskManagerSettings.AlwaysOnTop) {
|
if (TaskManagerSettings.AlwaysOnTop) {
|
||||||
|
@ -704,6 +709,35 @@ BOOL OnCreate(HWND hWnd)
|
||||||
TabCtrl_SetCurFocus/*Sel*/(hTabWnd, 2);
|
TabCtrl_SetCurFocus/*Sel*/(hTabWnd, 2);
|
||||||
TabCtrl_SetCurFocus/*Sel*/(hTabWnd, nActivePage);
|
TabCtrl_SetCurFocus/*Sel*/(hTabWnd, nActivePage);
|
||||||
|
|
||||||
|
/* Set the username in the "Log Off %s" item of the Shutdown menu */
|
||||||
|
|
||||||
|
/* 1- Get the menu item text and store it temporarily */
|
||||||
|
GetMenuStringW(hShutMenu, ID_SHUTDOWN_LOGOFF, szTemp, 256, MF_BYCOMMAND);
|
||||||
|
|
||||||
|
/* 2- Retrieve the username length first, then allocate a buffer for it and call it again */
|
||||||
|
if (!GetUserNameW(NULL, &len) && GetLastError() == ERROR_INSUFFICIENT_BUFFER)
|
||||||
|
{
|
||||||
|
lpUserName = HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY, len * sizeof(WCHAR));
|
||||||
|
if (lpUserName && GetUserNameW(lpUserName, &len))
|
||||||
|
{
|
||||||
|
_snwprintf(szLogOffItem, sizeof(szLogOffItem)/sizeof(szLogOffItem[0]), szTemp, lpUserName);
|
||||||
|
szLogOffItem[sizeof(szLogOffItem)/sizeof(szLogOffItem[0]) - 1] = UNICODE_NULL;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_snwprintf(szLogOffItem, sizeof(szLogOffItem)/sizeof(szLogOffItem[0]), szTemp, L"n/a");
|
||||||
|
}
|
||||||
|
|
||||||
|
if (lpUserName) HeapFree(GetProcessHeap(), 0, lpUserName);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_snwprintf(szLogOffItem, sizeof(szLogOffItem)/sizeof(szLogOffItem[0]), szTemp, L"n/a");
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 3- Set the menu item text to its formatted counterpart */
|
||||||
|
ModifyMenuW(hShutMenu, ID_SHUTDOWN_LOGOFF, MF_BYCOMMAND | MF_STRING, ID_SHUTDOWN_LOGOFF, szLogOffItem);
|
||||||
|
|
||||||
/* Setup update speed */
|
/* Setup update speed */
|
||||||
SetUpdateSpeed(hWnd);
|
SetUpdateSpeed(hWnd);
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue