ReactOS  0.4.12-dev-51-ge94618b
taskmgr.h File Reference
#include "resource.h"
Include dependency graph for taskmgr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  TASKMANAGER_SETTINGS
 

Macros

#define RUN_APPS_PAGE
 
#define RUN_PROC_PAGE
 
#define RUN_PERF_PAGE
 
#define STATUS_WINDOW   2001
 
#define STATUS_SIZE1   80
 
#define STATUS_SIZE2   210
 
#define STATUS_SIZE3   400
 

Typedefs

typedef struct TASKMANAGER_SETTINGSLPTASKMANAGER_SETTINGS
 

Functions

INT_PTR CALLBACK TaskManagerWndProc (HWND, UINT, WPARAM, LPARAM)
 
BOOL OnCreate (HWND hWnd)
 
void OnSize (WPARAM nType, int cx, int cy)
 
void OnMove (WPARAM nType, int cx, int cy)
 
void FillSolidRect (HDC hDC, LPCRECT lpRect, COLORREF clr)
 
void FillSolidRect2 (HDC hDC, int x, int y, int cx, int cy, COLORREF clr)
 
void Draw3dRect (HDC hDC, int x, int y, int cx, int cy, COLORREF clrTopLeft, COLORREF clrBottomRight)
 
void Draw3dRect2 (HDC hDC, LPRECT lpRect, COLORREF clrTopLeft, COLORREF clrBottomRight)
 
void LoadSettings (void)
 
void SaveSettings (void)
 
void TaskManager_OnRestoreMainWindow (void)
 
void TaskManager_OnEnterMenuLoop (HWND hWnd)
 
void TaskManager_OnExitMenuLoop (HWND hWnd)
 
void TaskManager_OnMenuSelect (HWND hWnd, UINT nItemID, UINT nFlags, HMENU hSysMenu)
 
void TaskManager_OnViewUpdateSpeed (DWORD)
 
void TaskManager_OnTabWndSelChange (void)
 
VOID ShowWin32Error (DWORD dwError)
 
LPTSTR GetLastErrorText (LPTSTR lpszBuf, DWORD dwSize)
 
DWORD EndLocalThread (HANDLE *hThread, DWORD dwThread)
 

Variables

HINSTANCE hInst
 
HWND hMainWnd
 
HWND hStatusWnd
 
HWND hTabWnd
 
int nMinimumWidth
 
int nMinimumHeight
 
int nOldWidth
 
int nOldHeight
 
TASKMANAGER_SETTINGS TaskManagerSettings
 

Macro Definition Documentation

◆ RUN_APPS_PAGE

#define RUN_APPS_PAGE

Definition at line 44 of file taskmgr.h.

◆ RUN_PERF_PAGE

#define RUN_PERF_PAGE

Definition at line 46 of file taskmgr.h.

◆ RUN_PROC_PAGE

#define RUN_PROC_PAGE

Definition at line 45 of file taskmgr.h.

◆ STATUS_SIZE1

#define STATUS_SIZE1   80

Definition at line 49 of file taskmgr.h.

Referenced by OnCreate(), OnSize(), and TaskManager_OnExitMenuLoop().

◆ STATUS_SIZE2

#define STATUS_SIZE2   210

Definition at line 50 of file taskmgr.h.

Referenced by OnCreate(), OnSize(), and TaskManager_OnExitMenuLoop().

◆ STATUS_SIZE3

#define STATUS_SIZE3   400

Definition at line 51 of file taskmgr.h.

Referenced by OnCreate().

◆ STATUS_WINDOW

#define STATUS_WINDOW   2001

Definition at line 48 of file taskmgr.h.

Typedef Documentation

◆ LPTASKMANAGER_SETTINGS

Function Documentation

◆ Draw3dRect()

void Draw3dRect ( HDC  hDC,
int  x,
int  y,
int  cx,
int  cy,
COLORREF  clrTopLeft,
COLORREF  clrBottomRight 
)

Definition at line 549 of file taskmgr.c.

Referenced by Draw3dRect2(), PerformancePageWndProc(), and TaskManagerWndProc().

550 {
551  FillSolidRect2(hDC, x, y, cx - 1, 1, clrTopLeft);
552  FillSolidRect2(hDC, x, y, 1, cy - 1, clrTopLeft);
553  FillSolidRect2(hDC, x + cx, y, -1, cy, clrBottomRight);
554  FillSolidRect2(hDC, x, y + cy, cx, -1, clrBottomRight);
555 }
void FillSolidRect2(HDC hDC, int x, int y, int cx, int cy, COLORREF clr)
Definition: taskmgr.c:537
INT INT y
Definition: msvc.h:62
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
static HDC hDC
Definition: 3dtext.c:33
INT x
Definition: msvc.h:62
_Out_opt_ int * cx
Definition: commctrl.h:570

◆ Draw3dRect2()

void Draw3dRect2 ( HDC  hDC,
LPRECT  lpRect,
COLORREF  clrTopLeft,
COLORREF  clrBottomRight 
)

Definition at line 557 of file taskmgr.c.

558 {
559  Draw3dRect(hDC, lpRect->left, lpRect->top, lpRect->right - lpRect->left,
560  lpRect->bottom - lpRect->top, clrTopLeft, clrBottomRight);
561 }
void Draw3dRect(HDC hDC, int x, int y, int cx, int cy, COLORREF clrTopLeft, COLORREF clrBottomRight)
Definition: taskmgr.c:549
LONG top
Definition: windef.h:297
LONG left
Definition: windef.h:296
LONG right
Definition: windef.h:298
static HDC hDC
Definition: 3dtext.c:33
LONG bottom
Definition: windef.h:299

◆ EndLocalThread()

DWORD EndLocalThread ( HANDLE hThread,
DWORD  dwThread 
)

Definition at line 1178 of file taskmgr.c.

Referenced by ApplicationPageWndProc(), PerformancePageWndProc(), and ProcessPageWndProc().

1179 {
1180  DWORD dwExitCodeThread = 0;
1181 
1182  if (*hThread != NULL) {
1183  PostThreadMessage(dwThread,WM_QUIT,0,0);
1184  for (;;) {
1185  MSG msg;
1186 
1187  if (WAIT_OBJECT_0 == WaitForSingleObject(*hThread, 500))
1188  break;
1189  while (PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) {
1190  TranslateMessage(&msg);
1191  DispatchMessage(&msg);
1192  }
1193  }
1194  GetExitCodeThread(*hThread, &dwExitCodeThread);
1195  CloseHandle(*hThread);
1196  *hThread = NULL;
1197  }
1198  return dwExitCodeThread;
1199 }
#define DispatchMessage
Definition: winuser.h:5631
BOOL WINAPI TranslateMessage(_In_ const MSG *)
#define PeekMessage
Definition: winuser.h:5696
#define CloseHandle
Definition: compat.h:398
TW_UINT32 TW_UINT16 TW_UINT16 MSG
Definition: twain.h:1827
#define WM_QUIT
Definition: winuser.h:1605
BOOL WINAPI GetExitCodeThread(IN HANDLE hThread, OUT LPDWORD lpExitCode)
Definition: thread.c:503
DWORD WINAPI WaitForSingleObject(IN HANDLE hHandle, IN DWORD dwMilliseconds)
Definition: synch.c:82
smooth NULL
Definition: ftsmooth.c:416
#define WAIT_OBJECT_0
Definition: winbase.h:387
#define PostThreadMessage
Definition: winuser.h:5699
unsigned long DWORD
Definition: ntddk_ex.h:95
#define msg(x)
Definition: auth_time.c:54
#define PM_REMOVE
Definition: winuser.h:1182

◆ FillSolidRect()

void FillSolidRect ( HDC  hDC,
LPCRECT  lpRect,
COLORREF  clr 
)

Definition at line 531 of file taskmgr.c.

Referenced by Graph_DrawCpuUsageGraph(), Graph_DrawMemUsageGraph(), and Graph_DrawMemUsageHistoryGraph().

532 {
533  SetBkColor(hDC, clr);
534  ExtTextOutW(hDC, 0, 0, ETO_OPAQUE, lpRect, NULL, 0, NULL);
535 }
BOOL WINAPI ExtTextOutW(_In_ HDC hdc, _In_ int x, _In_ int y, _In_ UINT options, _In_opt_ const RECT *lprect, _In_reads_opt_(c) LPCWSTR lpString, _In_ UINT c, _In_reads_opt_(c) const INT *lpDx)
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
Definition: dc.c:975
#define ETO_OPAQUE
Definition: wingdi.h:645
smooth NULL
Definition: ftsmooth.c:416
static HDC hDC
Definition: 3dtext.c:33

◆ FillSolidRect2()

void FillSolidRect2 ( HDC  hDC,
int  x,
int  y,
int  cx,
int  cy,
COLORREF  clr 
)

Definition at line 537 of file taskmgr.c.

Referenced by Draw3dRect().

538 {
539  RECT rect;
540 
541  SetBkColor(hDC, clr);
542  rect.left = x;
543  rect.top = y;
544  rect.right = x + cx;
545  rect.bottom = y + cy;
546  ExtTextOutW(hDC, 0, 0, ETO_OPAQUE, &rect, NULL, 0, NULL);
547 }
BOOL WINAPI ExtTextOutW(_In_ HDC hdc, _In_ int x, _In_ int y, _In_ UINT options, _In_opt_ const RECT *lprect, _In_reads_opt_(c) LPCWSTR lpString, _In_ UINT c, _In_reads_opt_(c) const INT *lpDx)
LONG top
Definition: windef.h:297
LONG left
Definition: windef.h:296
LONG right
Definition: windef.h:298
& rect
Definition: startmenu.cpp:1413
INT INT y
Definition: msvc.h:62
COLORREF WINAPI SetBkColor(_In_ HDC, _In_ COLORREF)
Definition: dc.c:975
#define ETO_OPAQUE
Definition: wingdi.h:645
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
smooth NULL
Definition: ftsmooth.c:416
static HDC hDC
Definition: 3dtext.c:33
INT x
Definition: msvc.h:62
_Out_opt_ int * cx
Definition: commctrl.h:570
LONG bottom
Definition: windef.h:299

◆ GetLastErrorText()

LPTSTR GetLastErrorText ( LPTSTR  lpszBuf,
DWORD  dwSize 
)

Definition at line 573 of file service.c.

Referenced by CmdInstallService(), and CmdRemoveService().

574 {
575  DWORD dwRet;
576  LPTSTR lpszTemp = NULL;
577 
579  NULL,
580  GetLastError(),
581  LANG_NEUTRAL,
582  (LPTSTR)&lpszTemp,
583  0,
584  NULL );
585 
586  // supplied buffer is not long enough
587  if ( !dwRet || ( (long)dwSize < (long)dwRet+14 ) )
588  lpszBuf[0] = TEXT('\0');
589  else
590  {
591  if (NULL != lpszTemp)
592  {
593  lpszTemp[lstrlen(lpszTemp)-2] = TEXT('\0'); //remove cr and newline character
594 #ifndef __REACTOS__
595  _stprintf_s( lpszBuf, dwSize, TEXT("%s (0x%x)"), lpszTemp, GetLastError() );
596 #else
597  _sntprintf( lpszBuf, dwSize, TEXT("%s (0x%x)"), lpszTemp, GetLastError() );
598 #endif
599  }
600  }
601 
602  if ( NULL != lpszTemp )
603  LocalFree((HLOCAL) lpszTemp );
604 
605  return lpszBuf;
606 }
#define LANG_NEUTRAL
Definition: nls.h:22
#define FORMAT_MESSAGE_ARGUMENT_ARRAY
Definition: winbase.h:405
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1059
CHAR * LPTSTR
Definition: xmlstorage.h:192
#define FORMAT_MESSAGE_ALLOCATE_BUFFER
Definition: winbase.h:400
smooth NULL
Definition: ftsmooth.c:416
#define FORMAT_MESSAGE_FROM_SYSTEM
Definition: winbase.h:404
unsigned long DWORD
Definition: ntddk_ex.h:95
#define FormatMessage
Definition: winbase.h:3609
#define _sntprintf
Definition: xmlstorage.h:201
#define lstrlen
Definition: winbase.h:3690
#define TEXT(s)
Definition: k32.h:26
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1577
PSDBQUERYRESULT_VISTA PVOID DWORD * dwSize
Definition: env.c:54

◆ LoadSettings()

void LoadSettings ( void  )

Definition at line 53 of file settings.c.

54 {
55  HKEY hKey = NULL;
56  int iItemIndex = -1;
57 
59  {
60  TCHAR szBuffer[MAX_PATH];
61  DWORD dwAdvancedChecked;
62  unsigned long type = REG_DWORD, size = 1024;
63 
64  /* Restore last selected font */
65  if (QueryStringValue(HKEY_CURRENT_USER, g_szGeneralRegKey, _T("Font"), szBuffer, (sizeof(szBuffer)/sizeof(szBuffer[0]))) == ERROR_SUCCESS)
66  {
67  //Get combobox handle
69 
70  //Search for match and return index if match found
71  iItemIndex = ComboBox_FindStringExact(hWnd, -1, szBuffer);
72  if(iItemIndex != CB_ERR)
73  {
74  ComboBox_SetCurSel(hWnd, iItemIndex);
76  }
77  }
78 
79  /* Restore last selected character set */
80  if (QueryStringValue(HKEY_CURRENT_USER, g_szGeneralRegKey, _T("CodePage"), szBuffer, (sizeof(szBuffer)/sizeof(szBuffer[0]))) == ERROR_SUCCESS)
81  {
82  //Get combobox handle
84 
85  iItemIndex = ComboBox_FindStringExact(hWnd, -1, szBuffer);
86  if(iItemIndex != CB_ERR)
87  {
88  ComboBox_SetCurSel(hWnd, iItemIndex);
89  }
90  }
91 
92  RegQueryValueEx(hKey, _T("Advanced"), NULL, &type, (LPBYTE)&dwAdvancedChecked, &size);
93 
94  if(dwAdvancedChecked != FALSE)
96 
97  RegCloseKey(hKey);
98  }
99  else
100  {
101  /* Default font seems to be Arial */
103 
104  iItemIndex = ComboBox_FindStringExact(hWnd, -1, _T("Arial"));
105  if(iItemIndex != CB_ERR)
106  {
107  ComboBox_SetCurSel(hWnd, iItemIndex);
109  }
110  }
111 }
#define RegQueryValueEx
Definition: winreg.h:524
#define ERROR_SUCCESS
Definition: deptool.c:10
#define IDC_CHECK_ADVANCED
Definition: resource.h:26
#define KEY_READ
Definition: nt_native.h:1023
#define HKEY_CURRENT_USER
Definition: winreg.h:11
HWND hWnd
Definition: settings.c:17
GLuint GLuint GLsizei GLenum type
Definition: gl.h:1545
#define SendDlgItemMessage
Definition: winuser.h:5708
#define IDC_COMBO_CHARSET
Definition: resource.h:21
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
#define ComboBox_FindStringExact(hwndCtl, indexStart, lpszFind)
Definition: windowsx.h:22
unsigned char * LPBYTE
Definition: typedefs.h:52
const TCHAR g_szGeneralRegKey[]
Definition: settings.c:16
smooth NULL
Definition: ftsmooth.c:416
#define CB_ERR
Definition: winuser.h:2389
#define MF_CHECKED
Definition: winuser.h:132
char TCHAR
Definition: xmlstorage.h:189
#define BM_CLICK
Definition: winuser.h:1878
#define _T(x)
Definition: vfdio.h:22
GLsizeiptr size
Definition: glext.h:5919
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
#define MAX_PATH
Definition: compat.h:26
unsigned long DWORD
Definition: ntddk_ex.h:95
#define ComboBox_SetCurSel(hwndCtl, index)
Definition: windowsx.h:41
#define IDC_FONTCOMBO
Definition: resource.h:12
VOID ChangeMapFont(HWND hDlg)
Definition: charmap.c:113
LONG QueryStringValue(HKEY hKey, LPCTSTR lpSubKey, LPCTSTR lpValueName, LPTSTR pszBuffer, DWORD dwBufferLen)
Definition: settings.c:19
#define RegOpenKeyEx
Definition: winreg.h:520
HWND hCharmapDlg
Definition: charmap.c:22
#define REG_DWORD
Definition: sdbapi.c:539

◆ OnCreate()

BOOL OnCreate ( HWND  hWnd)

Definition at line 82 of file msconfig.c.

Referenced by CSysPagerWnd::ContextSensitiveHelp(), CTaskSwitchWnd::ContextSensitiveHelp(), CGridView::GetHwnd(), CShellBrowser::GetWindowProc(), MsConfigWndProc(), CShellBrowser::OnCreate(), and TaskManagerWndProc().

83 {
84  TCHAR szTemp[256];
85  TCITEM item;
86 
87  hTabWnd = GetDlgItem(hWnd, IDC_TAB);
94 
95  LoadString(hInst, IDS_MSCONFIG, szTemp, 256);
96  SetWindowText(hWnd, szTemp);
97 
98  // Insert Tab Pages
99  LoadString(hInst, IDS_TAB_GENERAL, szTemp, 256);
100  memset(&item, 0, sizeof(TCITEM));
101  item.mask = TCIF_TEXT;
102  item.pszText = szTemp;
103  (void)TabCtrl_InsertItem(hTabWnd, 0, &item);
104 
105  LoadString(hInst, IDS_TAB_SYSTEM, szTemp, 256);
106  memset(&item, 0, sizeof(TCITEM));
107  item.mask = TCIF_TEXT;
108  item.pszText = szTemp;
109  (void)TabCtrl_InsertItem(hTabWnd, 1, &item);
110 
111  LoadString(hInst, IDS_TAB_FREELDR, szTemp, 256);
112  memset(&item, 0, sizeof(TCITEM));
113  item.mask = TCIF_TEXT;
114  item.pszText = szTemp;
115  (void)TabCtrl_InsertItem(hTabWnd, 2, &item);
116 
117  LoadString(hInst, IDS_TAB_SERVICES, szTemp, 256);
118  memset(&item, 0, sizeof(TCITEM));
119  item.mask = TCIF_TEXT;
120  item.pszText = szTemp;
121  (void)TabCtrl_InsertItem(hTabWnd, 3, &item);
122 
123  LoadString(hInst, IDS_TAB_STARTUP, szTemp, 256);
124  memset(&item, 0, sizeof(TCITEM));
125  item.mask = TCIF_TEXT;
126  item.pszText = szTemp;
127  (void)TabCtrl_InsertItem(hTabWnd, 4, &item);
128 
129  LoadString(hInst, IDS_TAB_TOOLS, szTemp, 256);
130  memset(&item, 0, sizeof(TCITEM));
131  item.mask = TCIF_TEXT;
132  item.pszText = szTemp;
133  (void)TabCtrl_InsertItem(hTabWnd, 5, &item);
134 
136 
137  return TRUE;
138 }
#define MAKEINTRESOURCE
Definition: winuser.h:591
#define TRUE
Definition: types.h:120
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:47
#define IDC_TAB
Definition: resource.h:12
HINSTANCE hInst
Definition: msconfig.c:19
#define IDS_TAB_TOOLS
Definition: resource.h:72
INT_PTR CALLBACK ServicesPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
Definition: srvpage.c:22
#define TCIF_TEXT
Definition: commctrl.h:3938
HWND hSystemPage
Definition: systempage.c:12
#define IDD_TOOLS_PAGE
Definition: resource.h:4
INT_PTR CALLBACK SystemPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
Definition: system.c:383
#define IDS_TAB_GENERAL
Definition: resource.h:77
#define IDD_SYSTEM_PAGE
Definition: resource.h:9
HWND hTabWnd
Definition: msconfig.c:22
#define IDS_TAB_SERVICES
Definition: resource.h:76
BOOL EnableDialogTheme(HWND hwnd)
Definition: msconfig.c:50
char TCHAR
Definition: xmlstorage.h:189
INT_PTR CALLBACK FreeLdrPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
Definition: freeldrpage.c:134
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
#define IDS_TAB_STARTUP
Definition: resource.h:75
void MsConfig_OnTabWndSelChange(void)
Definition: msconfig.c:141
#define IDS_MSCONFIG
Definition: resource.h:114
HWND hServicesPage
Definition: srvpage.c:15
#define IDS_TAB_SYSTEM
Definition: resource.h:73
#define IDS_TAB_FREELDR
Definition: resource.h:74
HWND hFreeLdrPage
Definition: freeldrpage.c:12
#define IDD_GENERAL_PAGE
Definition: resource.h:6
HWND hGeneralPage
Definition: generalpage.c:12
#define IDD_SERVICES_PAGE
Definition: resource.h:5
static ATOM item
Definition: dde.c:856
HWND hToolsPage
Definition: toolspage.c:14
#define SetWindowText
Definition: winuser.h:5723
INT_PTR CALLBACK ToolsPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
Definition: toolspage.c:56
#define TabCtrl_InsertItem(hwnd, iItem, pitem)
Definition: commctrl.h:4018
HWND hStartupPage
Definition: startuppage.c:12
INT_PTR CALLBACK StartupPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
Definition: startuppage.c:20
#define TCITEM
Definition: commctrl.h:3996
#define IDD_FREELDR_PAGE
Definition: resource.h:8
#define IDD_STARTUP_PAGE
Definition: resource.h:7
#define memset(x, y, z)
Definition: compat.h:39
INT_PTR CALLBACK GeneralPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
Definition: generalpage.c:25
#define LoadString
Definition: winuser.h:5685
#define CreateDialog
Definition: winuser.h:5615

◆ OnMove()

void OnMove ( WPARAM  nType,
int  cx,
int  cy 
)

Definition at line 782 of file taskmgr.c.

Referenced by TaskManagerWndProc().

783 {
784 #ifdef __GNUC__TEST__
788 #endif
789 }
HWND hApplicationPage
Definition: applpage.c:34
#define PAGE_OFFSET_LEFT
HWND hPerformancePage
Definition: perfpage.c:31
#define PAGE_OFFSET_HEIGHT
BOOL WINAPI MoveWindow(_In_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ BOOL)
HWND hProcessPage
Definition: procpage.c:36
#define PAGE_OFFSET_WIDTH
TASKMANAGER_SETTINGS TaskManagerSettings
Definition: taskmgr.c:52
#define PAGE_OFFSET_TOP

◆ OnSize()

void OnSize ( WPARAM  nType,
int  cx,
int  cy 
)

Definition at line 795 of file taskmgr.c.

Referenced by TaskManagerWndProc().

796 {
797  int nParts[3];
798  int nXDifference;
799  int nYDifference;
800  RECT rc;
801 
802  if (nType == SIZE_MINIMIZED)
803  {
805  {
807  }
808  return;
809  }
810 
811  nXDifference = cx - nOldWidth;
812  nYDifference = cy - nOldHeight;
813  nOldWidth = cx;
814  nOldHeight = cy;
815 
816  /* Update the status bar size */
819 
820  /* Update the status bar pane sizes */
821  nParts[0] = bInMenuLoop ? -1 : STATUS_SIZE1;
822  nParts[1] = STATUS_SIZE2;
823  nParts[2] = cx;
825 
826  /* Resize the tab control */
827  GetWindowRect(hTabWnd, &rc);
828  cx = (rc.right - rc.left) + nXDifference;
829  cy = (rc.bottom - rc.top) + nYDifference;
831 
832  /* Resize the application page */
834  cx = (rc.right - rc.left) + nXDifference;
835  cy = (rc.bottom - rc.top) + nYDifference;
837 
838  /* Resize the process page */
840  cx = (rc.right - rc.left) + nXDifference;
841  cy = (rc.bottom - rc.top) + nYDifference;
843 
844  /* Resize the performance page */
846  cx = (rc.right - rc.left) + nXDifference;
847  cy = (rc.bottom - rc.top) + nYDifference;
849 }
HWND hApplicationPage
Definition: applpage.c:34
#define STATUS_SIZE2
Definition: taskmgr.h:50
#define SW_HIDE
Definition: winuser.h:762
#define MAKELPARAM(l, h)
Definition: winuser.h:3915
HWND hTabWnd
Definition: taskmgr.c:39
BOOL HideWhenMinimized
Definition: taskmgr.h:68
LONG top
Definition: windef.h:297
LONG left
Definition: windef.h:296
#define SWP_NOZORDER
Definition: winuser.h:1232
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
LONG right
Definition: windef.h:298
HWND hPerformancePage
Definition: perfpage.c:31
HWND hStatusWnd
Definition: taskmgr.c:38
LONG_PTR LPARAM
Definition: windef.h:208
int nOldWidth
Definition: taskmgr.c:46
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
smooth NULL
Definition: ftsmooth.c:416
#define STATUS_SIZE1
Definition: taskmgr.h:49
int nOldHeight
Definition: taskmgr.c:47
#define WM_SIZE
Definition: winuser.h:1593
#define SWP_NOACTIVATE
Definition: winuser.h:1227
#define SIZE_MINIMIZED
Definition: winuser.h:2460
BOOL bInMenuLoop
Definition: taskmgr.c:49
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
HWND hProcessPage
Definition: procpage.c:36
#define SB_SETPARTS
Definition: commctrl.h:1924
_Out_opt_ int * cx
Definition: commctrl.h:570
LONG bottom
Definition: windef.h:299
TASKMANAGER_SETTINGS TaskManagerSettings
Definition: taskmgr.c:52
#define SWP_NOMOVE
Definition: winuser.h:1229
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
HWND hMainWnd
Definition: taskmgr.c:37
#define SWP_NOOWNERZORDER
Definition: winuser.h:1234
int * LPINT
Definition: windef.h:178

◆ SaveSettings()

void SaveSettings ( void  )

Definition at line 113 of file settings.c.

114 {
115  HKEY hKey = NULL;
116 
118  {
119  TCHAR szBuffer[MAX_PATH];
120 
122  ComboBox_GetText(hWnd, szBuffer, MAX_PATH);
123 
124  if(*szBuffer != '\0')
125  RegSetValueEx(hKey, _T("Font"), 0, REG_SZ, (LPBYTE) szBuffer, (DWORD) MAX_PATH);
126 
128  ComboBox_GetText(hWnd, szBuffer, MAX_PATH);
129 
130  if(*szBuffer != '\0')
131  RegSetValueEx(hKey, _T("CodePage"), 0, REG_SZ, (LPBYTE) szBuffer, (DWORD) MAX_PATH);
132 
133  RegSetValueEx(hKey, _T("Advanced"), 0, REG_DWORD, (LPBYTE)&Settings.IsAdvancedView, (DWORD) sizeof(DWORD));
134 
135  RegCloseKey(hKey);
136  }
137 }
#define ERROR_SUCCESS
Definition: deptool.c:10
#define KEY_SET_VALUE
Definition: nt_native.h:1017
#define HKEY_CURRENT_USER
Definition: winreg.h:11
HWND hWnd
Definition: settings.c:17
#define ComboBox_GetText(hwndCtl, lpch, cchMax)
Definition: windowsx.h:33
SSSTARS Settings
Definition: settings.c:33
#define IDC_COMBO_CHARSET
Definition: resource.h:21
LONG WINAPI RegCloseKey(HKEY hKey)
Definition: reg.c:423
unsigned char * LPBYTE
Definition: typedefs.h:52
const TCHAR g_szGeneralRegKey[]
Definition: settings.c:16
smooth NULL
Definition: ftsmooth.c:416
#define REG_OPTION_NON_VOLATILE
Definition: nt_native.h:1057
char TCHAR
Definition: xmlstorage.h:189
#define _T(x)
Definition: vfdio.h:22
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
#define MAX_PATH
Definition: compat.h:26
unsigned long DWORD
Definition: ntddk_ex.h:95
#define IDC_FONTCOMBO
Definition: resource.h:12
HWND hCharmapDlg
Definition: charmap.c:22
#define REG_DWORD
Definition: sdbapi.c:539
#define RegSetValueEx
Definition: winreg.h:533
#define RegCreateKeyEx
Definition: winreg.h:501
#define REG_SZ
Definition: layer.c:22

◆ ShowWin32Error()

VOID ShowWin32Error ( DWORD  dwError)

Definition at line 1136 of file taskmgr.c.

1137 {
1138  LPWSTR lpMessageBuffer;
1139 
1141  NULL,
1142  dwError,
1144  (LPWSTR)&lpMessageBuffer,
1145  0, NULL) != 0)
1146  {
1147  MessageBoxW(hMainWnd, lpMessageBuffer, NULL, MB_OK | MB_ICONERROR);
1148  if (lpMessageBuffer) LocalFree(lpMessageBuffer);
1149  }
1150 }
#define LANG_NEUTRAL
Definition: nls.h:22
#define SUBLANG_DEFAULT
Definition: nls.h:168
DWORD WINAPI FormatMessageW(DWORD dwFlags, LPCVOID lpSource, DWORD dwMessageId, DWORD dwLanguageId, LPWSTR lpBuffer, DWORD nSize, __ms_va_list *args)
Definition: format_msg.c:583
#define FORMAT_MESSAGE_ALLOCATE_BUFFER
Definition: winbase.h:400
smooth NULL
Definition: ftsmooth.c:416
#define FORMAT_MESSAGE_FROM_SYSTEM
Definition: winbase.h:404
int WINAPI MessageBoxW(_In_opt_ HWND, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ UINT)
#define MB_ICONERROR
Definition: winuser.h:781
HLOCAL NTAPI LocalFree(HLOCAL hMem)
Definition: heapmem.c:1577
#define MB_OK
Definition: winuser.h:784
#define MAKELANGID(p, s)
Definition: nls.h:15
WCHAR * LPWSTR
Definition: xmlstorage.h:184
HWND hMainWnd
Definition: taskmgr.c:37

◆ TaskManager_OnEnterMenuLoop()

void TaskManager_OnEnterMenuLoop ( HWND  hWnd)

Definition at line 942 of file taskmgr.c.

Referenced by TaskManagerWndProc().

943 {
944  int nParts;
945 
946  /* Update the status bar pane sizes */
947  nParts = -1;
949  bInMenuLoop = TRUE;
951 }
#define TRUE
Definition: types.h:120
HWND hStatusWnd
Definition: taskmgr.c:38
UINT_PTR WPARAM
Definition: windef.h:207
LONG_PTR LPARAM
Definition: windef.h:208
static const WCHAR L[]
Definition: oid.c:1087
#define SB_SETTEXT
Definition: commctrl.h:1919
BOOL bInMenuLoop
Definition: taskmgr.c:49
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define SB_SETPARTS
Definition: commctrl.h:1924
int * LPINT
Definition: windef.h:178

◆ TaskManager_OnExitMenuLoop()

void TaskManager_OnExitMenuLoop ( HWND  hWnd)

Definition at line 953 of file taskmgr.c.

Referenced by TaskManagerWndProc().

954 {
955  RECT rc;
956  int nParts[3];
957 
958  bInMenuLoop = FALSE;
959 
960  /* Update the status bar pane sizes */
961  GetClientRect(hWnd, &rc);
962  nParts[0] = STATUS_SIZE1;
963  nParts[1] = STATUS_SIZE2;
964  nParts[2] = rc.right;
966 
967  /* trigger update of status bar columns and performance page asynchronously */
969 }
#define STATUS_SIZE2
Definition: taskmgr.h:50
LONG right
Definition: windef.h:298
HWND hStatusWnd
Definition: taskmgr.c:38
LONG_PTR LPARAM
Definition: windef.h:208
#define STATUS_SIZE1
Definition: taskmgr.h:49
void RefreshPerformancePage(void)
Definition: perfpage.c:306
BOOL bInMenuLoop
Definition: taskmgr.c:49
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define SB_SETPARTS
Definition: commctrl.h:1924
int * LPINT
Definition: windef.h:178

◆ TaskManager_OnMenuSelect()

void TaskManager_OnMenuSelect ( HWND  hWnd,
UINT  nItemID,
UINT  nFlags,
HMENU  hSysMenu 
)

Definition at line 971 of file taskmgr.c.

Referenced by TaskManagerWndProc().

972 {
973  WCHAR str[100];
974 
975  wcscpy(str, L"");
976  if (LoadStringW(hInst, nItemID, str, 100)) {
977  /* load appropriate string */
978  LPWSTR lpsz = str;
979  /* first newline terminates actual string */
980  lpsz = wcschr(lpsz, '\n');
981  if (lpsz != NULL)
982  *lpsz = '\0';
983  }
985 }
HINSTANCE hInst
Definition: taskmgr.c:35
__wchar_t WCHAR
Definition: xmlstorage.h:180
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
HWND hStatusWnd
Definition: taskmgr.c:38
LONG_PTR LPARAM
Definition: windef.h:208
const WCHAR * str
smooth NULL
Definition: ftsmooth.c:416
_CONST_RETURN wchar_t *__cdecl wcschr(_In_z_ const wchar_t *_Str, wchar_t _Ch)
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
static const WCHAR L[]
Definition: oid.c:1087
#define SB_SETTEXT
Definition: commctrl.h:1919
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
WCHAR * LPWSTR
Definition: xmlstorage.h:184

◆ TaskManager_OnRestoreMainWindow()

void TaskManager_OnRestoreMainWindow ( void  )

Definition at line 928 of file taskmgr.c.

Referenced by TaskManagerWndProc().

929 {
930  //HMENU hMenu, hOptionsMenu;
931  BOOL OnTop;
932 
933  //hMenu = GetMenu(hMainWnd);
934  //hOptionsMenu = GetSubMenu(hMenu, OPTIONS_MENU_INDEX);
936 
940 }
#define GWL_EXSTYLE
Definition: winuser.h:845
#define HWND_TOPMOST
Definition: winuser.h:1194
#define HWND_TOP
Definition: winuser.h:1193
#define GetWindowLongPtrW
Definition: winuser.h:4698
unsigned int BOOL
Definition: ntddk_ex.h:94
BOOL WINAPI OpenIcon(_In_ HWND)
#define WS_EX_TOPMOST
Definition: pedump.c:647
#define SWP_NOSIZE
Definition: winuser.h:1230
#define SWP_SHOWWINDOW
Definition: winuser.h:1233
BOOL WINAPI SetForegroundWindow(_In_ HWND)
#define SWP_NOMOVE
Definition: winuser.h:1229
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
HWND hMainWnd
Definition: taskmgr.c:37

◆ TaskManager_OnTabWndSelChange()

void TaskManager_OnTabWndSelChange ( void  )

Definition at line 1005 of file taskmgr.c.

Referenced by TaskManagerWndProc().

1006 {
1007  int i;
1008  HMENU hMenu;
1009  HMENU hOptionsMenu;
1010  HMENU hViewMenu;
1011  HMENU hSubMenu;
1012  WCHAR szTemp[256];
1013  SYSTEM_INFO sysInfo;
1014 
1015  hMenu = GetMenu(hMainWnd);
1016  hViewMenu = GetSubMenu(hMenu, 2);
1017  hOptionsMenu = GetSubMenu(hMenu, 1);
1019  for (i = GetMenuItemCount(hViewMenu) - 1; i > 2; i--) {
1020  hSubMenu = GetSubMenu(hViewMenu, i);
1021  if (hSubMenu)
1022  DestroyMenu(hSubMenu);
1023  RemoveMenu(hViewMenu, i, MF_BYPOSITION);
1024  }
1025  RemoveMenu(hOptionsMenu, 3, MF_BYPOSITION);
1026  if (hWindowMenu)
1029  case 0:
1034 
1035  LoadStringW(hInst, IDS_MENU_LARGEICONS, szTemp, 256);
1036  AppendMenuW(hViewMenu, MF_STRING, ID_VIEW_LARGE, szTemp);
1037 
1038  LoadStringW(hInst, IDS_MENU_SMALLICONS, szTemp, 256);
1039  AppendMenuW(hViewMenu, MF_STRING, ID_VIEW_SMALL, szTemp);
1040 
1041  LoadStringW(hInst, IDS_MENU_DETAILS, szTemp, 256);
1042  AppendMenuW(hViewMenu, MF_STRING, ID_VIEW_DETAILS, szTemp);
1043 
1044  if (GetMenuItemCount(hMenu) <= 5) {
1046 
1047  LoadStringW(hInst, IDS_MENU_WINDOWS, szTemp, 256);
1048  InsertMenuW(hMenu, 3, MF_BYPOSITION|MF_POPUP, (UINT_PTR) hWindowMenu, szTemp);
1049 
1051  }
1053 
1054  /*
1055  * Give the application list control focus
1056  */
1057  if (!bWasKeyboardInput)
1059  break;
1060 
1061  case 1:
1066 
1067  LoadStringW(hInst, IDS_MENU_SELECTCOLUMNS, szTemp, 256);
1068  AppendMenuW(hViewMenu, MF_STRING, ID_VIEW_SELECTCOLUMNS, szTemp);
1069 
1070  LoadStringW(hInst, IDS_MENU_16BITTASK, szTemp, 256);
1071  AppendMenuW(hOptionsMenu, MF_STRING, ID_OPTIONS_SHOW16BITTASKS, szTemp);
1072 
1075  if (GetMenuItemCount(hMenu) > 5)
1076  {
1077  DeleteMenu(hMenu, 3, MF_BYPOSITION);
1079  }
1080  /*
1081  * Give the process list control focus
1082  */
1083  if (!bWasKeyboardInput)
1085  break;
1086 
1087  case 2:
1092  if (GetMenuItemCount(hMenu) > 5) {
1093  DeleteMenu(hMenu, 3, MF_BYPOSITION);
1095  }
1096 
1097  GetSystemInfo(&sysInfo);
1098 
1099  /* Hide CPU graph options on single CPU systems */
1100  if (sysInfo.dwNumberOfProcessors > 1)
1101  {
1102  hSubMenu = CreatePopupMenu();
1103 
1106 
1107  LoadStringW(hInst, IDS_MENU_ONEGRAPHPERCPU, szTemp, 256);
1109 
1110  LoadStringW(hInst, IDS_MENU_CPUHISTORY, szTemp, 256);
1111  AppendMenuW(hViewMenu, MF_STRING|MF_POPUP, (UINT_PTR) hSubMenu, szTemp);
1112 
1115  else
1117  }
1118 
1120  AppendMenuW(hViewMenu, MF_STRING, ID_VIEW_SHOWKERNELTIMES, szTemp);
1121 
1124  else
1126 
1127  /*
1128  * Give the tab control focus
1129  */
1130  if (!bWasKeyboardInput)
1131  SetFocus(hTabWnd);
1132  break;
1133  }
1134 }
#define IDS_MENU_DETAILS
Definition: resource.h:233
HINSTANCE hInst
Definition: taskmgr.c:35
#define IDR_WINDOWSMENU
Definition: resource.h:16
#define ID_VIEW_DETAILS
Definition: resource.h:38
HWND hApplicationPage
Definition: applpage.c:34
BOOL WINAPI DrawMenuBar(_In_ HWND)
#define IDS_MENU_SHOWKERNELTIMES
Definition: resource.h:237
#define MF_BYCOMMAND
Definition: winuser.h:202
#define IDS_MENU_ONEGRAPHALLCPUS
Definition: resource.h:234
BOOL WINAPI InsertMenuW(_In_ HMENU, _In_ UINT, _In_ UINT, _In_ UINT_PTR, _In_opt_ LPCWSTR)
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define SW_HIDE
Definition: winuser.h:762
BOOL WINAPI CheckMenuRadioItem(_In_ HMENU, _In_ UINT, _In_ UINT, _In_ UINT, _In_ UINT)
HWND hTabWnd
Definition: taskmgr.c:39
#define MF_STRING
Definition: winuser.h:138
HWND WINAPI SetFocus(_In_opt_ HWND)
#define TabCtrl_GetCurSel(hwnd)
Definition: commctrl.h:4030
#define ID_OPTIONS_SHOW16BITTASKS
Definition: resource.h:158
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
HWND hApplicationPageListCtrl
Definition: applpage.c:35
HWND hPerformancePage
Definition: perfpage.c:31
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
BOOL WINAPI AppendMenuW(_In_ HMENU, _In_ UINT, _In_ UINT_PTR, _In_opt_ LPCWSTR)
GLenum GLclampf GLint i
Definition: glfuncs.h:14
#define ID_VIEW_CPUHISTORY_ONEGRAPHALL
Definition: resource.h:162
#define MF_BYPOSITION
Definition: winuser.h:203
int WINAPI GetMenuItemCount(_In_opt_ HMENU)
BOOL WINAPI BringWindowToTop(_In_ HWND)
#define ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU
Definition: resource.h:163
#define SW_SHOW
Definition: winuser.h:769
#define MF_CHECKED
Definition: winuser.h:132
BOOL bWasKeyboardInput
Definition: taskmgr.c:50
BOOL WINAPI DeleteMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
#define ID_VIEW_SHOWKERNELTIMES
Definition: resource.h:161
DWORD WINAPI CheckMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
unsigned __int3264 UINT_PTR
Definition: mstsclib_h.h:274
#define IDS_MENU_SMALLICONS
Definition: resource.h:232
#define IDS_MENU_ONEGRAPHPERCPU
Definition: resource.h:235
#define MF_POPUP
Definition: winuser.h:136
#define IDS_MENU_LARGEICONS
Definition: resource.h:231
#define ID_VIEW_SELECTCOLUMNS
Definition: resource.h:160
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
#define IDS_MENU_CPUHISTORY
Definition: resource.h:236
#define MF_UNCHECKED
Definition: winuser.h:204
#define ID_VIEW_SMALL
Definition: resource.h:36
BOOL WINAPI DestroyMenu(_In_ HMENU)
#define IDS_MENU_WINDOWS
Definition: resource.h:230
HMENU hWindowMenu
Definition: taskmgr.c:41
#define IDS_MENU_16BITTASK
Definition: resource.h:229
BOOL WINAPI RemoveMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
VOID WINAPI GetSystemInfo(IN LPSYSTEM_INFO lpSystemInfo)
Definition: sysinfo.c:142
HWND hProcessPage
Definition: procpage.c:36
HMENU WINAPI CreatePopupMenu(void)
Definition: menu.c:846
DWORD dwNumberOfProcessors
Definition: winbase.h:1130
HMENU WINAPI LoadMenuW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
TASKMANAGER_SETTINGS TaskManagerSettings
Definition: taskmgr.c:52
#define IDS_MENU_SELECTCOLUMNS
Definition: resource.h:228
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
HWND hProcessPageListCtrl
Definition: procpage.c:38
HMENU WINAPI GetMenu(_In_ HWND)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
HWND hMainWnd
Definition: taskmgr.c:37
BOOL CPUHistory_OneGraphPerCPU
Definition: taskmgr.h:87
#define ID_VIEW_LARGE
Definition: resource.h:35

◆ TaskManager_OnViewUpdateSpeed()

void TaskManager_OnViewUpdateSpeed ( DWORD  )

Definition at line 987 of file taskmgr.c.

Referenced by TaskManagerWndProc().

988 {
989  HMENU hMenu;
990  HMENU hViewMenu;
991  HMENU hUpdateSpeedMenu;
992 
993  hMenu = GetMenu(hMainWnd);
994  hViewMenu = GetSubMenu(hMenu, 2);
995  hUpdateSpeedMenu = GetSubMenu(hViewMenu, 1);
996 
999 
1000  KillTimer(hMainWnd, 1);
1001 
1003 }
#define MF_BYCOMMAND
Definition: winuser.h:202
BOOL WINAPI CheckMenuRadioItem(_In_ HMENU, _In_ UINT, _In_ UINT, _In_ UINT, _In_ UINT)
#define ID_VIEW_UPDATESPEED_HIGH
Definition: resource.h:145
static void SetUpdateSpeed(HWND hWnd)
Definition: taskmgr.c:563
BOOL WINAPI KillTimer(_In_opt_ HWND, _In_ UINT_PTR)
#define ID_VIEW_UPDATESPEED_PAUSED
Definition: resource.h:148
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
TASKMANAGER_SETTINGS TaskManagerSettings
Definition: taskmgr.c:52
HMENU WINAPI GetMenu(_In_ HWND)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
HWND hMainWnd
Definition: taskmgr.c:37

◆ TaskManagerWndProc()

INT_PTR CALLBACK TaskManagerWndProc ( HWND  ,
UINT  ,
WPARAM  ,
LPARAM   
)

Definition at line 200 of file taskmgr.c.

Referenced by wWinMain().

201 {
202 #if 0
203  HDC hdc;
204  PAINTSTRUCT ps;
205  RECT rc;
206 #endif
207  LPRECT pRC;
208  LPNMHDR pnmh;
209  WINDOWPLACEMENT wp;
210 
211  switch (message) {
212  case WM_INITDIALOG:
213  // For now, the Help dialog menu item is disabled because of lacking of HTML Help support
215  hMainWnd = hDlg;
216  return OnCreate(hDlg);
217 
218  case WM_COMMAND:
219  if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) {
220  EndDialog(hDlg, LOWORD(wParam));
221  return TRUE;
222  }
223  /* Process menu commands */
224  switch (LOWORD(wParam))
225  {
226  case ID_FILE_NEW:
228  break;
231  break;
234  break;
237  break;
240  break;
241  case ID_RESTORE:
243  break;
244  case ID_VIEW_LARGE:
245  case ID_VIEW_SMALL:
246  case ID_VIEW_DETAILS:
248  break;
251  break;
254  break;
257  break;
263  break;
266  break;
267  case ID_VIEW_REFRESH:
268  PostMessageW(hDlg, WM_TIMER, 0, 0);
269  break;
272  break;
275  break;
276  case ID_WINDOWS_MINIMIZE:
278  break;
279  case ID_WINDOWS_MAXIMIZE:
281  break;
282  case ID_WINDOWS_CASCADE:
284  break;
287  break;
290  break;
293  break;
296  break;
299  break;
302  break;
305  break;
308  break;
311  break;
314  break;
317  break;
320  break;
323  break;
326  break;
329  break;
330 
331 /* ShutDown items */
332  case ID_SHUTDOWN_STANDBY:
334  break;
337  break;
340  break;
341  case ID_SHUTDOWN_REBOOT:
342  ShutDown_Reboot();
343  break;
344  case ID_SHUTDOWN_LOGOFF:
346  break;
349  break;
352  break;
355  break;
358  break;
359 
360  case ID_HELP_ABOUT:
361  OnAbout();
362  break;
363  case ID_FILE_EXIT:
364  EndDialog(hDlg, IDOK);
365  break;
366  }
367  break;
368 
369  case WM_ONTRAYICON:
370  switch(lParam)
371  {
372  case WM_RBUTTONDOWN:
373  {
374  POINT pt;
375  BOOL OnTop;
376  HMENU hMenu, hPopupMenu;
377 
378  GetCursorPos(&pt);
379 
381 
383  hPopupMenu = GetSubMenu(hMenu, 0);
384 
386  {
387  DeleteMenu(hPopupMenu, ID_RESTORE, MF_BYCOMMAND);
388  }
389  else
390  {
391  SetMenuDefaultItem(hPopupMenu, ID_RESTORE, FALSE);
392  }
393 
394  if(OnTop)
395  {
397  } else
398  {
400  }
401 
403  TrackPopupMenuEx(hPopupMenu, 0, pt.x, pt.y, hMainWnd, NULL);
404 
405  DestroyMenu(hMenu);
406  break;
407  }
408  case WM_LBUTTONDBLCLK:
410  break;
411  }
412  break;
413 
414  case WM_NOTIFY:
415  pnmh = (LPNMHDR)lParam;
416  if ((pnmh->hwndFrom == hTabWnd) &&
417  (pnmh->idFrom == IDC_TAB))
418  {
419  switch (pnmh->code)
420  {
421  case TCN_SELCHANGE:
423  break;
424  case TCN_KEYDOWN:
426  break;
427  case NM_CLICK:
429  break;
430  }
431  }
432  break;
433 #if 0
434  case WM_NCPAINT:
435  hdc = GetDC(hDlg);
436  GetClientRect(hDlg, &rc);
438  ReleaseDC(hDlg, hdc);
439  break;
440 
441  case WM_PAINT:
442  hdc = BeginPaint(hDlg, &ps);
443  GetClientRect(hDlg, &rc);
445  EndPaint(hDlg, &ps);
446  break;
447 #endif
448  case WM_SIZING:
449  /* Make sure the user is sizing the dialog */
450  /* in an acceptable range */
451  pRC = (LPRECT)lParam;
452  if ((wParam == WMSZ_LEFT) || (wParam == WMSZ_TOPLEFT) || (wParam == WMSZ_BOTTOMLEFT)) {
453  /* If the width is too small enlarge it to the minimum */
454  if (nMinimumWidth > (pRC->right - pRC->left))
455  pRC->left = pRC->right - nMinimumWidth;
456  } else {
457  /* If the width is too small enlarge it to the minimum */
458  if (nMinimumWidth > (pRC->right - pRC->left))
459  pRC->right = pRC->left + nMinimumWidth;
460  }
461  if ((wParam == WMSZ_TOP) || (wParam == WMSZ_TOPLEFT) || (wParam == WMSZ_TOPRIGHT)) {
462  /* If the height is too small enlarge it to the minimum */
463  if (nMinimumHeight > (pRC->bottom - pRC->top))
464  pRC->top = pRC->bottom - nMinimumHeight;
465  } else {
466  /* If the height is too small enlarge it to the minimum */
467  if (nMinimumHeight > (pRC->bottom - pRC->top))
468  pRC->bottom = pRC->top + nMinimumHeight;
469  }
470  return TRUE;
471  break;
472 
473  case WM_SIZE:
474  /* Handle the window sizing in it's own function */
476  break;
477 
478  case WM_MOVE:
479  /* Handle the window moving in it's own function */
481  break;
482 
483  case WM_DESTROY:
484  ShowWindow(hDlg, SW_HIDE);
486  wp.length = sizeof(WINDOWPLACEMENT);
487  GetWindowPlacement(hDlg, &wp);
492  if (IsZoomed(hDlg) || (wp.flags & WPF_RESTORETOMAXIMIZED))
494  else
496  /* Get rid of the allocated command line cache, if any */
498  if (hWindowMenu)
500  return DefWindowProcW(hDlg, message, wParam, lParam);
501 
502  case WM_TIMER:
503  /* Refresh the performance data */
504  PerfDataRefresh();
509  break;
510 
511  case WM_ENTERMENULOOP:
513  break;
514  case WM_EXITMENULOOP:
516  break;
517  case WM_MENUSELECT:
519  break;
520  case WM_SYSCOLORCHANGE:
521  /* Forward WM_SYSCOLORCHANGE to common controls */
525  break;
526  }
527 
528  return 0;
529 }
void ApplicationPage_OnWindowsCascade(void)
Definition: applpage.c:815
HINSTANCE hInst
Definition: taskmgr.c:35
#define ID_SHUTDOWN_SWITCHUSER
Definition: resource.h:189
#define HDC
Definition: msvc.h:22
#define WM_SYSCOLORCHANGE
Definition: winuser.h:1608
#define COLOR_3DHILIGHT
Definition: winuser.h:927
Definition: tftpd.h:59
#define REALTIME_PRIORITY_CLASS
Definition: winbase.h:184
#define ID_VIEW_DETAILS
Definition: resource.h:38
#define TRUE
Definition: types.h:120
#define IDR_TRAY_POPUP
Definition: resource.h:22
#define IDOK
Definition: winuser.h:824
#define ID_OPTIONS_HIDEWHENMINIMIZED
Definition: resource.h:140
#define ID_RESTORE
Definition: resource.h:168
#define MF_BYCOMMAND
Definition: winuser.h:202
struct _WINDOWPLACEMENT WINDOWPLACEMENT
long y
Definition: polytest.cpp:48
void OnAbout(void)
Definition: about.c:25
#define IDC_TAB
Definition: resource.h:12
void OnMove(WPARAM nType, int cx, int cy)
Definition: taskmgr.c:782
long x
Definition: polytest.cpp:48
void Draw3dRect(HDC hDC, int x, int y, int cx, int cy, COLORREF clrTopLeft, COLORREF clrBottomRight)
Definition: taskmgr.c:549
#define ID_PROCESS_PAGE_SETPRIORITY_NORMAL
Definition: resource.h:179
HDC WINAPI GetDC(_In_opt_ HWND)
#define pt(x, y)
Definition: drawing.c:79
#define SW_HIDE
Definition: winuser.h:762
void TaskManager_OnViewUpdateSpeed(DWORD dwSpeed)
Definition: taskmgr.c:987
void ProcessPage_OnEndProcessTree(void)
Definition: endproc.c:110
HWND hTabWnd
Definition: taskmgr.c:39
#define ID_OPTIONS_ALWAYSONTOP
Definition: resource.h:138
#define ID_SHUTDOWN_POWEROFF
Definition: resource.h:186
BOOL WINAPI TrackPopupMenuEx(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _In_ HWND, _In_opt_ LPTPMPARAMS)
#define ID_SHUTDOWN_DISCONNECT
Definition: resource.h:191
void DoSetPriority(DWORD priority)
Definition: priority.c:26
#define ID_APPLICATION_PAGE_GOTOPROCESS
Definition: resource.h:170
VOID ShutDown_LogOffUser(VOID)
Definition: shutdown.c:170
LONG top
Definition: windef.h:297
#define ID_HELP_TOPICS
Definition: resource.h:155
#define ID_VIEW_UPDATESPEED_HIGH
Definition: resource.h:145
#define WM_MOVE
Definition: winuser.h:1592
VOID ShutDown_PowerOff(VOID)
Definition: shutdown.c:115
#define GWL_EXSTYLE
Definition: winuser.h:845
BOOL OnCreate(HWND hWnd)
Definition: taskmgr.c:579
void PerformancePage_OnViewCPUHistoryOneGraphPerCPU(void)
Definition: perfpage.c:518
int nMinimumHeight
Definition: taskmgr.c:44
#define ID_WINDOWS_MAXIMIZE
Definition: resource.h:152
#define WMSZ_TOP
Definition: winuser.h:2420
VOID ShutDown_EjectComputer(VOID)
Definition: shutdown.c:194
#define WPF_RESTORETOMAXIMIZED
Definition: winuser.h:2486
#define ID_OPTIONS_SHOW16BITTASKS
Definition: resource.h:158
#define ID_PROCESS_PAGE_SETPRIORITY_HIGH
Definition: resource.h:177
void RefreshProcessPage(void)
Definition: procpage.c:411
#define GetWindowLongPtrW
Definition: winuser.h:4698
LONG left
Definition: windef.h:296
#define NORMAL_PRIORITY_CLASS
Definition: winbase.h:181
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
BOOL WINAPI EndPaint(_In_ HWND, _In_ const PAINTSTRUCT *)
BOOL WINAPI GetCursorPos(_Out_ LPPOINT)
Definition: cursoricon.c:2635
LONG right
Definition: windef.h:298
HWND hApplicationPageListCtrl
Definition: applpage.c:35
DWORD WINAPI GetSysColor(_In_ int)
void ApplicationPage_OnWindowsMinimize(void)
Definition: applpage.c:773
BOOL TrayIcon_ShellUpdateTrayIcon(void)
Definition: trayicon.c:177
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
WPARAM wParam
Definition: combotst.c:138
#define ID_WINDOWS_TILEVERTICALLY
Definition: resource.h:150
struct tagNMHDR * LPNMHDR
#define COLOR_3DSHADOW
Definition: winuser.h:921
LRESULT WINAPI DefWindowProcW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define ID_PROCESS_PAGE_ENDPROCESS
Definition: resource.h:172
#define WMSZ_TOPLEFT
Definition: winuser.h:2421
#define ABOVE_NORMAL_PRIORITY_CLASS
Definition: winbase.h:191
#define ID_SHUTDOWN_HIBERNATE
Definition: resource.h:185
UINT code
Definition: winuser.h:3112
#define WM_NCPAINT
Definition: winuser.h:1669
void ProcessPage_OnDebug(void)
Definition: debug.c:26
BOOL WINAPI EnableMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
#define ID_PROCESS_PAGE_SETPRIORITY_REALTIME
Definition: resource.h:176
#define ID_OPTIONS_MINIMIZEONUSE
Definition: resource.h:139
#define ID_VIEW_CPUHISTORY_ONEGRAPHALL
Definition: resource.h:162
#define WM_ENTERMENULOOP
Definition: winuser.h:1780
HDC WINAPI BeginPaint(_In_ HWND, _Out_ LPPAINTSTRUCT)
#define ID_FILE_EXIT
Definition: resource.h:47
BOOL TrayIcon_ShellRemoveTrayIcon(void)
Definition: trayicon.c:159
UINT_PTR idFrom
Definition: winuser.h:3111
#define MDITILE_HORIZONTAL
Definition: winuser.h:2142
HWND hProcessPageHeaderCtrl
Definition: procpage.c:39
int WINAPI ReleaseDC(_In_opt_ HWND, _In_ HDC)
#define WM_MENUSELECT
Definition: winuser.h:1723
#define WM_SIZING
Definition: winuser.h:1783
#define ID_HELP_ABOUT
Definition: resource.h:77
HDC hdc
Definition: msvc.h:53
#define HIGH_PRIORITY_CLASS
Definition: winbase.h:183
#define ID_VIEW_CPUHISTORY_ONEGRAPHPERCPU
Definition: resource.h:163
VOID ShutDown_Disconnect(VOID)
Definition: shutdown.c:189
#define WM_EXITMENULOOP
Definition: winuser.h:1781
VOID ShutDown_Hibernate(VOID)
Definition: shutdown.c:88
void ProcessPage_OnEndProcess(void)
Definition: endproc.c:30
smooth NULL
Definition: ftsmooth.c:416
#define ID_VIEW_UPDATESPEED_LOW
Definition: resource.h:147
#define ID_PROCESS_PAGE_SETAFFINITY
Definition: resource.h:175
#define ID_PROCESS_PAGE_DEBUGCHANNELS
Definition: resource.h:182
void ProcessPage_OnSetAffinity(void)
Definition: affinity.c:41
#define ID_SHUTDOWN_STANDBY
Definition: resource.h:184
BOOL WINAPI GetWindowPlacement(_In_ HWND, _Inout_ WINDOWPLACEMENT *)
#define WM_DESTROY
Definition: winuser.h:1591
#define ID_FILE_NEW
Definition: resource.h:41
#define WM_RBUTTONDOWN
Definition: winuser.h:1755
void ApplicationPage_OnWindowsTile(DWORD dwMode)
Definition: applpage.c:742
#define MF_CHECKED
Definition: winuser.h:132
void OnSize(WPARAM nType, int cx, int cy)
Definition: taskmgr.c:795
#define LPRECT
Definition: msvc.h:30
#define TCN_SELCHANGE
Definition: commctrl.h:4099
#define ID_VIEW_REFRESH
Definition: resource.h:58
BOOL bWasKeyboardInput
Definition: taskmgr.c:50
void ApplicationPage_OnView(DWORD dwMode)
Definition: applpage.c:728
void TaskManager_OnRestoreMainWindow(void)
Definition: taskmgr.c:928
#define ID_PROCESS_PAGE_DEBUG
Definition: resource.h:174
void RefreshApplicationPage(void)
Definition: applpage.c:247
unsigned int BOOL
Definition: ntddk_ex.h:94
#define IDLE_PRIORITY_CLASS
Definition: winbase.h:182
#define ID_SHUTDOWN_EJECT_COMPUTER
Definition: resource.h:192
#define ID_PROCESS_PAGE_SETPRIORITY_BELOWNORMAL
Definition: resource.h:180
void ApplicationPage_OnEndTask(void)
Definition: applpage.c:905
#define WM_SIZE
Definition: winuser.h:1593
#define MDITILE_VERTICAL
Definition: winuser.h:2143
BOOL WINAPI DeleteMenu(_In_ HMENU, _In_ UINT, _In_ UINT)
#define WM_TIMER
Definition: winuser.h:1718
void RefreshPerformancePage(void)
Definition: perfpage.c:306
#define ID_VIEW_SHOWKERNELTIMES
Definition: resource.h:161
DWORD WINAPI CheckMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
#define WM_PAINT
Definition: winuser.h:1602
#define ID_PROCESS_PAGE_SETPRIORITY_ABOVENORMAL
Definition: resource.h:178
void ApplicationPage_OnGotoProcess(void)
Definition: applpage.c:929
VOID ShutDown_StandBy(VOID)
Definition: shutdown.c:61
void PerfDataDeallocCommandLineCache()
Definition: perfdata.c:659
#define WM_ONTRAYICON
Definition: trayicon.h:25
#define ID_VIEW_SELECTCOLUMNS
Definition: resource.h:160
#define WM_LBUTTONDBLCLK
Definition: winuser.h:1754
#define WS_EX_TOPMOST
Definition: pedump.c:647
#define ID_VIEW_UPDATESPEED_PAUSED
Definition: resource.h:148
VOID ShutDown_LockComputer(VOID)
Definition: shutdown.c:182
void ApplicationPage_OnWindowsBringToFront(void)
Definition: applpage.c:844
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
void PerformancePage_OnViewShowKernelTimes(void)
Definition: perfpage.c:481
#define WM_COMMAND
Definition: winuser.h:1716
HWND hwndFrom
Definition: winuser.h:3110
#define MF_UNCHECKED
Definition: winuser.h:204
#define NM_CLICK
Definition: commctrl.h:130
void PerformancePage_OnViewCPUHistoryOneGraphAll(void)
Definition: perfpage.c:504
#define ID_VIEW_SMALL
Definition: resource.h:36
void TaskManager_OnEnterMenuLoop(HWND hWnd)
Definition: taskmgr.c:942
BOOL WINAPI DestroyMenu(_In_ HMENU)
#define ID_WINDOWS_CASCADE
Definition: resource.h:153
HMENU hWindowMenu
Definition: taskmgr.c:41
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
VOID ShutDown_SwitchUser(VOID)
Definition: shutdown.c:177
void ProcessPage_OnDebugChannels(void)
Definition: dbgchnl.c:381
void TaskManager_OnTabWndSelChange(void)
Definition: taskmgr.c:1005
void ApplicationPage_OnWindowsMaximize(void)
Definition: applpage.c:794
void TaskManager_OnOptionsAlwaysOnTop(void)
Definition: optnmenu.c:31
void TaskManager_OnFileNew(void)
Definition: run.c:26
#define ID_PROCESS_PAGE_ENDPROCESSTREE
Definition: resource.h:173
BOOL WINAPI IsZoomed(_In_ HWND)
#define ID_WINDOWS_MINIMIZE
Definition: resource.h:151
BOOL WINAPI SetMenuDefaultItem(_In_ HMENU, _In_ UINT, _In_ UINT)
#define ID_APPLICATION_PAGE_ENDTASK
Definition: resource.h:169
RECT rcNormalPosition
Definition: winuser.h:3237
int nMinimumWidth
Definition: taskmgr.c:43
BOOL WINAPI PostMessageW(_In_opt_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define SendMessage
Definition: winuser.h:5709
void TaskManager_OnOptionsShow16BitTasks(void)
Definition: optnmenu.c:103
#define ID_SHUTDOWN_LOCKCOMPUTER
Definition: resource.h:190
HMENU WINAPI LoadMenuW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
#define BELOW_NORMAL_PRIORITY_CLASS
Definition: winbase.h:190
#define HIWORD(l)
Definition: typedefs.h:246
BOOL WINAPI IsWindowVisible(_In_ HWND)
BOOL WINAPI SetForegroundWindow(_In_ HWND)
LONG bottom
Definition: windef.h:299
TASKMANAGER_SETTINGS TaskManagerSettings
Definition: taskmgr.c:52
VOID ShutDown_Reboot(VOID)
Definition: shutdown.c:143
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
#define ID_WINDOWS_BRINGTOFRONT
Definition: resource.h:154
#define MF_GRAYED
Definition: winuser.h:129
void ProcessPage_OnViewSelectColumns(void)
Definition: column.c:145
#define IDCANCEL
Definition: winuser.h:825
#define ID_WINDOWS_TILEHORIZONTALLY
Definition: resource.h:149
HWND hProcessPageListCtrl
Definition: procpage.c:38
#define ID_VIEW_UPDATESPEED_NORMAL
Definition: resource.h:146
HMENU WINAPI GetMenu(_In_ HWND)
#define ID_APPLICATION_PAGE_SWITCHTO
Definition: resource.h:165
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
#define ID_SHUTDOWN_REBOOT
Definition: resource.h:187
HWND hMainWnd
Definition: taskmgr.c:37
#define WM_INITDIALOG
Definition: winuser.h:1715
LPARAM lParam
Definition: combotst.c:139
#define LOWORD(l)
Definition: pedump.c:82
#define TCN_KEYDOWN
Definition: commctrl.h:4085
void TaskManager_OnOptionsMinimizeOnUse(void)
Definition: optnmenu.c:57
#define ID_PROCESS_PAGE_SETPRIORITY_LOW
Definition: resource.h:181
void TaskManager_OnMenuSelect(HWND hWnd, UINT nItemID, UINT nFlags, HMENU hSysMenu)
Definition: taskmgr.c:971
#define WMSZ_LEFT
Definition: winuser.h:2418
#define WM_NOTIFY
Definition: richedit.h:61
#define WMSZ_TOPRIGHT
Definition: winuser.h:2422
#define WMSZ_BOTTOMLEFT
Definition: winuser.h:2424
#define ID_VIEW_LARGE
Definition: resource.h:35
void PerfDataRefresh(void)
Definition: perfdata.c:175
#define ID_SHUTDOWN_LOGOFF
Definition: resource.h:188
void TaskManager_OnExitMenuLoop(HWND hWnd)
Definition: taskmgr.c:953
void TaskManager_OnOptionsHideWhenMinimized(void)
Definition: optnmenu.c:80
void ApplicationPage_OnSwitchTo(void)
Definition: applpage.c:868

Variable Documentation

◆ hInst

HINSTANCE hInst

Definition at line 13 of file dxdiag.c.

◆ hMainWnd

◆ hStatusWnd

HWND hStatusWnd

Definition at line 23 of file charmap.c.

Referenced by PerformancePageRefreshThread(), and set_statusbar_state().

◆ hTabWnd

HWND hTabWnd

◆ nMinimumHeight

int nMinimumHeight

Definition at line 44 of file taskmgr.c.

Referenced by OnCreate(), and TaskManagerWndProc().

◆ nMinimumWidth

int nMinimumWidth

Definition at line 43 of file taskmgr.c.

Referenced by OnCreate(), and TaskManagerWndProc().

◆ nOldHeight

int nOldHeight

Definition at line 47 of file taskmgr.c.

Referenced by OnCreate(), and OnSize().

◆ nOldWidth

int nOldWidth

Definition at line 46 of file taskmgr.c.

Referenced by HEADER_MouseMove(), OnCreate(), and OnSize().

◆ TaskManagerSettings