taskmgr: Avoid forward declarations and make functions static (1/3)
Francois Gouget
fgouget at free.fr
Tue Mar 21 11:32:40 CST 2006
Changelog:
* programs/taskmgr/about.c
programs/taskmgr/affinity.c
programs/taskmgr/column.c
programs/taskmgr/graph.c
programs/taskmgr/perfpage.c
programs/taskmgr/proclist.c
programs/taskmgr/procpage.c
Francois Gouget <fgouget at free.fr>
Reorder functions to avoid forward declarations.
Make functions static whenever possible.
--
Francois Gouget <fgouget at free.fr> http://fgouget.free.fr/
Before you criticize someone, walk a mile in his shoes.
That way, if he gets angry, he'll be a mile away - and barefoot.
-------------- next part --------------
Index: programs/taskmgr/about.c
===================================================================
RCS file: /home/wine/wine/programs/taskmgr/about.c,v
retrieving revision 1.2
diff -u -p -r1.2 about.c
--- programs/taskmgr/about.c 14 Sep 2005 10:06:09 -0000 1.2
+++ programs/taskmgr/about.c 21 Mar 2006 14:29:13 -0000
@@ -31,15 +31,7 @@
#include "taskmgr.h"
-INT_PTR CALLBACK AboutDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
-
-void OnAbout(void)
-{
- DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hMainWnd, AboutDialogWndProc);
-}
-
-INT_PTR CALLBACK
-AboutDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+static INT_PTR CALLBACK AboutDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
HWND hLicenseEditWnd;
TCHAR strLicense[0x1000];
@@ -69,3 +61,8 @@ AboutDialogWndProc(HWND hDlg, UINT messa
return 0;
}
+
+void OnAbout(void)
+{
+ DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hMainWnd, AboutDialogWndProc);
+}
Index: programs/taskmgr/affinity.c
===================================================================
RCS file: /home/wine/wine/programs/taskmgr/affinity.c,v
retrieving revision 1.3
diff -u -p -r1.3 affinity.c
--- programs/taskmgr/affinity.c 17 Mar 2006 12:24:01 -0000 1.3
+++ programs/taskmgr/affinity.c 21 Mar 2006 14:29:13 -0000
@@ -35,41 +35,7 @@
HANDLE hProcessAffinityHandle;
-INT_PTR CALLBACK AffinityDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
-
-void ProcessPage_OnSetAffinity(void)
-{
- LV_ITEM lvitem;
- ULONG Index;
- DWORD dwProcessId;
- TCHAR strErrorText[260];
-
- for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++) {
- memset(&lvitem, 0, sizeof(LV_ITEM));
- lvitem.mask = LVIF_STATE;
- lvitem.stateMask = LVIS_SELECTED;
- lvitem.iItem = Index;
- SendMessage(hProcessPageListCtrl, LVM_GETITEM, 0, (LPARAM) &lvitem);
- if (lvitem.state & LVIS_SELECTED)
- break;
- }
- dwProcessId = PerfDataGetProcessId(Index);
- if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0))
- return;
- hProcessAffinityHandle = OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_SET_INFORMATION, FALSE, dwProcessId);
- if (!hProcessAffinityHandle) {
- GetLastErrorText(strErrorText, 260);
- MessageBox(hMainWnd, strErrorText, _T("Unable to Access or Set Process Affinity"), MB_OK|MB_ICONSTOP);
- return;
- }
- DialogBox(hInst, MAKEINTRESOURCE(IDD_AFFINITY_DIALOG), hMainWnd, AffinityDialogWndProc);
- if (hProcessAffinityHandle) {
- CloseHandle(hProcessAffinityHandle);
- hProcessAffinityHandle = NULL;
- }
-}
-
-INT_PTR CALLBACK
+static INT_PTR CALLBACK
AffinityDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
DWORD dwProcessAffinityMask = 0;
@@ -343,3 +309,35 @@ AffinityDialogWndProc(HWND hDlg, UINT me
return 0;
}
+
+void ProcessPage_OnSetAffinity(void)
+{
+ LV_ITEM lvitem;
+ ULONG Index;
+ DWORD dwProcessId;
+ TCHAR strErrorText[260];
+
+ for (Index=0; Index<(ULONG)ListView_GetItemCount(hProcessPageListCtrl); Index++) {
+ memset(&lvitem, 0, sizeof(LV_ITEM));
+ lvitem.mask = LVIF_STATE;
+ lvitem.stateMask = LVIS_SELECTED;
+ lvitem.iItem = Index;
+ SendMessage(hProcessPageListCtrl, LVM_GETITEM, 0, (LPARAM) &lvitem);
+ if (lvitem.state & LVIS_SELECTED)
+ break;
+ }
+ dwProcessId = PerfDataGetProcessId(Index);
+ if ((ListView_GetSelectedCount(hProcessPageListCtrl) != 1) || (dwProcessId == 0))
+ return;
+ hProcessAffinityHandle = OpenProcess(PROCESS_QUERY_INFORMATION|PROCESS_SET_INFORMATION, FALSE, dwProcessId);
+ if (!hProcessAffinityHandle) {
+ GetLastErrorText(strErrorText, 260);
+ MessageBox(hMainWnd, strErrorText, _T("Unable to Access or Set Process Affinity"), MB_OK|MB_ICONSTOP);
+ return;
+ }
+ DialogBox(hInst, MAKEINTRESOURCE(IDD_AFFINITY_DIALOG), hMainWnd, AffinityDialogWndProc);
+ if (hProcessAffinityHandle) {
+ CloseHandle(hProcessAffinityHandle);
+ hProcessAffinityHandle = NULL;
+ }
+}
Index: programs/taskmgr/column.c
===================================================================
RCS file: /home/wine/wine/programs/taskmgr/column.c,v
retrieving revision 1.2
diff -u -p -r1.2 column.c
--- programs/taskmgr/column.c 14 Sep 2005 10:06:09 -0000 1.2
+++ programs/taskmgr/column.c 21 Mar 2006 14:29:13 -0000
@@ -34,8 +34,29 @@
UINT ColumnDataHints[25];
-int InsertColumn(int nCol, LPCTSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem);
-INT_PTR CALLBACK ColumnsDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam);
+
+static int InsertColumn(int nCol, LPCTSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem)
+{
+ LVCOLUMN column;
+
+ column.mask = LVCF_TEXT|LVCF_FMT;
+ column.pszText = (LPTSTR)lpszColumnHeading;
+ column.fmt = nFormat;
+
+ if (nWidth != -1)
+ {
+ column.mask |= LVCF_WIDTH;
+ column.cx = nWidth;
+ }
+
+ if (nSubItem != -1)
+ {
+ column.mask |= LVCF_SUBITEM;
+ column.iSubItem = nSubItem;
+ }
+
+ return ListView_InsertColumn(hProcessPageListCtrl, nCol, &column);
+}
void AddColumns(void)
{
@@ -98,27 +119,110 @@ void AddColumns(void)
UpdateColumnDataHints();
}
-int InsertColumn(int nCol, LPCTSTR lpszColumnHeading, int nFormat, int nWidth, int nSubItem)
+static INT_PTR CALLBACK ColumnsDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
- LVCOLUMN column;
- column.mask = LVCF_TEXT|LVCF_FMT;
- column.pszText = (LPTSTR)lpszColumnHeading;
- column.fmt = nFormat;
-
- if (nWidth != -1)
+ switch (message)
{
- column.mask |= LVCF_WIDTH;
- column.cx = nWidth;
- }
+ case WM_INITDIALOG:
- if (nSubItem != -1)
- {
- column.mask |= LVCF_SUBITEM;
- column.iSubItem = nSubItem;
+ if (TaskManagerSettings.Column_ImageName)
+ SendMessage(GetDlgItem(hDlg, IDC_IMAGENAME), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_PID)
+ SendMessage(GetDlgItem(hDlg, IDC_PID), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_UserName)
+ SendMessage(GetDlgItem(hDlg, IDC_USERNAME), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_SessionID)
+ SendMessage(GetDlgItem(hDlg, IDC_SESSIONID), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_CPUUsage)
+ SendMessage(GetDlgItem(hDlg, IDC_CPUUSAGE), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_CPUTime)
+ SendMessage(GetDlgItem(hDlg, IDC_CPUTIME), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_MemoryUsage)
+ SendMessage(GetDlgItem(hDlg, IDC_MEMORYUSAGE), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_PeakMemoryUsage)
+ SendMessage(GetDlgItem(hDlg, IDC_PEAKMEMORYUSAGE), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_MemoryUsageDelta)
+ SendMessage(GetDlgItem(hDlg, IDC_MEMORYUSAGEDELTA), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_PageFaults)
+ SendMessage(GetDlgItem(hDlg, IDC_PAGEFAULTS), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_PageFaultsDelta)
+ SendMessage(GetDlgItem(hDlg, IDC_PAGEFAULTSDELTA), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_VirtualMemorySize)
+ SendMessage(GetDlgItem(hDlg, IDC_VIRTUALMEMORYSIZE), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_PagedPool)
+ SendMessage(GetDlgItem(hDlg, IDC_PAGEDPOOL), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_NonPagedPool)
+ SendMessage(GetDlgItem(hDlg, IDC_NONPAGEDPOOL), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_BasePriority)
+ SendMessage(GetDlgItem(hDlg, IDC_BASEPRIORITY), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_HandleCount)
+ SendMessage(GetDlgItem(hDlg, IDC_HANDLECOUNT), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_ThreadCount)
+ SendMessage(GetDlgItem(hDlg, IDC_THREADCOUNT), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_USERObjects)
+ SendMessage(GetDlgItem(hDlg, IDC_USEROBJECTS), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_GDIObjects)
+ SendMessage(GetDlgItem(hDlg, IDC_GDIOBJECTS), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_IOReads)
+ SendMessage(GetDlgItem(hDlg, IDC_IOREADS), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_IOWrites)
+ SendMessage(GetDlgItem(hDlg, IDC_IOWRITES), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_IOOther)
+ SendMessage(GetDlgItem(hDlg, IDC_IOOTHER), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_IOReadBytes)
+ SendMessage(GetDlgItem(hDlg, IDC_IOREADBYTES), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_IOWriteBytes)
+ SendMessage(GetDlgItem(hDlg, IDC_IOWRITEBYTES), BM_SETCHECK, BST_CHECKED, 0);
+ if (TaskManagerSettings.Column_IOOtherBytes)
+ SendMessage(GetDlgItem(hDlg, IDC_IOOTHERBYTES), BM_SETCHECK, BST_CHECKED, 0);
+
+ return TRUE;
+
+ case WM_COMMAND:
+
+ if (LOWORD(wParam) == IDCANCEL)
+ {
+ EndDialog(hDlg, LOWORD(wParam));
+ return TRUE;
+ }
+
+ if (LOWORD(wParam) == IDOK)
+ {
+ TaskManagerSettings.Column_ImageName = SendMessage(GetDlgItem(hDlg, IDC_IMAGENAME), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_PID = SendMessage(GetDlgItem(hDlg, IDC_PID), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_UserName = SendMessage(GetDlgItem(hDlg, IDC_USERNAME), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_SessionID = SendMessage(GetDlgItem(hDlg, IDC_SESSIONID), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_CPUUsage = SendMessage(GetDlgItem(hDlg, IDC_CPUUSAGE), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_CPUTime = SendMessage(GetDlgItem(hDlg, IDC_CPUTIME), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_MemoryUsage = SendMessage(GetDlgItem(hDlg, IDC_MEMORYUSAGE), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_PeakMemoryUsage = SendMessage(GetDlgItem(hDlg, IDC_PEAKMEMORYUSAGE), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_MemoryUsageDelta = SendMessage(GetDlgItem(hDlg, IDC_MEMORYUSAGEDELTA), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_PageFaults = SendMessage(GetDlgItem(hDlg, IDC_PAGEFAULTS), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_PageFaultsDelta = SendMessage(GetDlgItem(hDlg, IDC_PAGEFAULTSDELTA), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_VirtualMemorySize = SendMessage(GetDlgItem(hDlg, IDC_VIRTUALMEMORYSIZE), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_PagedPool = SendMessage(GetDlgItem(hDlg, IDC_PAGEDPOOL), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_NonPagedPool = SendMessage(GetDlgItem(hDlg, IDC_NONPAGEDPOOL), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_BasePriority = SendMessage(GetDlgItem(hDlg, IDC_BASEPRIORITY), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_HandleCount = SendMessage(GetDlgItem(hDlg, IDC_HANDLECOUNT), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_ThreadCount = SendMessage(GetDlgItem(hDlg, IDC_THREADCOUNT), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_USERObjects = SendMessage(GetDlgItem(hDlg, IDC_USEROBJECTS), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_GDIObjects = SendMessage(GetDlgItem(hDlg, IDC_GDIOBJECTS), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_IOReads = SendMessage(GetDlgItem(hDlg, IDC_IOREADS), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_IOWrites = SendMessage(GetDlgItem(hDlg, IDC_IOWRITES), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_IOOther = SendMessage(GetDlgItem(hDlg, IDC_IOOTHER), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_IOReadBytes = SendMessage(GetDlgItem(hDlg, IDC_IOREADBYTES), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_IOWriteBytes = SendMessage(GetDlgItem(hDlg, IDC_IOWRITEBYTES), BM_GETCHECK, 0, 0);
+ TaskManagerSettings.Column_IOOtherBytes = SendMessage(GetDlgItem(hDlg, IDC_IOOTHERBYTES), BM_GETCHECK, 0, 0);
+
+ EndDialog(hDlg, LOWORD(wParam));
+ return TRUE;
+ }
+
+ break;
}
- return ListView_InsertColumn(hProcessPageListCtrl, nCol, &column);
+ return 0;
}
void SaveColumnSettings(void)
@@ -369,113 +473,6 @@ void ProcessPage_OnViewSelectColumns(voi
}
}
-INT_PTR CALLBACK
-ColumnsDialogWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
-{
-
- switch (message)
- {
- case WM_INITDIALOG:
-
- if (TaskManagerSettings.Column_ImageName)
- SendMessage(GetDlgItem(hDlg, IDC_IMAGENAME), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_PID)
- SendMessage(GetDlgItem(hDlg, IDC_PID), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_UserName)
- SendMessage(GetDlgItem(hDlg, IDC_USERNAME), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_SessionID)
- SendMessage(GetDlgItem(hDlg, IDC_SESSIONID), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_CPUUsage)
- SendMessage(GetDlgItem(hDlg, IDC_CPUUSAGE), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_CPUTime)
- SendMessage(GetDlgItem(hDlg, IDC_CPUTIME), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_MemoryUsage)
- SendMessage(GetDlgItem(hDlg, IDC_MEMORYUSAGE), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_PeakMemoryUsage)
- SendMessage(GetDlgItem(hDlg, IDC_PEAKMEMORYUSAGE), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_MemoryUsageDelta)
- SendMessage(GetDlgItem(hDlg, IDC_MEMORYUSAGEDELTA), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_PageFaults)
- SendMessage(GetDlgItem(hDlg, IDC_PAGEFAULTS), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_PageFaultsDelta)
- SendMessage(GetDlgItem(hDlg, IDC_PAGEFAULTSDELTA), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_VirtualMemorySize)
- SendMessage(GetDlgItem(hDlg, IDC_VIRTUALMEMORYSIZE), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_PagedPool)
- SendMessage(GetDlgItem(hDlg, IDC_PAGEDPOOL), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_NonPagedPool)
- SendMessage(GetDlgItem(hDlg, IDC_NONPAGEDPOOL), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_BasePriority)
- SendMessage(GetDlgItem(hDlg, IDC_BASEPRIORITY), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_HandleCount)
- SendMessage(GetDlgItem(hDlg, IDC_HANDLECOUNT), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_ThreadCount)
- SendMessage(GetDlgItem(hDlg, IDC_THREADCOUNT), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_USERObjects)
- SendMessage(GetDlgItem(hDlg, IDC_USEROBJECTS), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_GDIObjects)
- SendMessage(GetDlgItem(hDlg, IDC_GDIOBJECTS), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_IOReads)
- SendMessage(GetDlgItem(hDlg, IDC_IOREADS), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_IOWrites)
- SendMessage(GetDlgItem(hDlg, IDC_IOWRITES), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_IOOther)
- SendMessage(GetDlgItem(hDlg, IDC_IOOTHER), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_IOReadBytes)
- SendMessage(GetDlgItem(hDlg, IDC_IOREADBYTES), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_IOWriteBytes)
- SendMessage(GetDlgItem(hDlg, IDC_IOWRITEBYTES), BM_SETCHECK, BST_CHECKED, 0);
- if (TaskManagerSettings.Column_IOOtherBytes)
- SendMessage(GetDlgItem(hDlg, IDC_IOOTHERBYTES), BM_SETCHECK, BST_CHECKED, 0);
-
- return TRUE;
-
- case WM_COMMAND:
-
- if (LOWORD(wParam) == IDCANCEL)
- {
- EndDialog(hDlg, LOWORD(wParam));
- return TRUE;
- }
-
- if (LOWORD(wParam) == IDOK)
- {
- TaskManagerSettings.Column_ImageName = SendMessage(GetDlgItem(hDlg, IDC_IMAGENAME), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_PID = SendMessage(GetDlgItem(hDlg, IDC_PID), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_UserName = SendMessage(GetDlgItem(hDlg, IDC_USERNAME), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_SessionID = SendMessage(GetDlgItem(hDlg, IDC_SESSIONID), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_CPUUsage = SendMessage(GetDlgItem(hDlg, IDC_CPUUSAGE), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_CPUTime = SendMessage(GetDlgItem(hDlg, IDC_CPUTIME), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_MemoryUsage = SendMessage(GetDlgItem(hDlg, IDC_MEMORYUSAGE), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_PeakMemoryUsage = SendMessage(GetDlgItem(hDlg, IDC_PEAKMEMORYUSAGE), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_MemoryUsageDelta = SendMessage(GetDlgItem(hDlg, IDC_MEMORYUSAGEDELTA), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_PageFaults = SendMessage(GetDlgItem(hDlg, IDC_PAGEFAULTS), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_PageFaultsDelta = SendMessage(GetDlgItem(hDlg, IDC_PAGEFAULTSDELTA), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_VirtualMemorySize = SendMessage(GetDlgItem(hDlg, IDC_VIRTUALMEMORYSIZE), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_PagedPool = SendMessage(GetDlgItem(hDlg, IDC_PAGEDPOOL), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_NonPagedPool = SendMessage(GetDlgItem(hDlg, IDC_NONPAGEDPOOL), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_BasePriority = SendMessage(GetDlgItem(hDlg, IDC_BASEPRIORITY), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_HandleCount = SendMessage(GetDlgItem(hDlg, IDC_HANDLECOUNT), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_ThreadCount = SendMessage(GetDlgItem(hDlg, IDC_THREADCOUNT), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_USERObjects = SendMessage(GetDlgItem(hDlg, IDC_USEROBJECTS), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_GDIObjects = SendMessage(GetDlgItem(hDlg, IDC_GDIOBJECTS), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_IOReads = SendMessage(GetDlgItem(hDlg, IDC_IOREADS), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_IOWrites = SendMessage(GetDlgItem(hDlg, IDC_IOWRITES), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_IOOther = SendMessage(GetDlgItem(hDlg, IDC_IOOTHER), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_IOReadBytes = SendMessage(GetDlgItem(hDlg, IDC_IOREADBYTES), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_IOWriteBytes = SendMessage(GetDlgItem(hDlg, IDC_IOWRITEBYTES), BM_GETCHECK, 0, 0);
- TaskManagerSettings.Column_IOOtherBytes = SendMessage(GetDlgItem(hDlg, IDC_IOOTHERBYTES), BM_GETCHECK, 0, 0);
-
- EndDialog(hDlg, LOWORD(wParam));
- return TRUE;
- }
-
- break;
- }
-
- return 0;
-}
-
void UpdateColumnDataHints(void)
{
HDITEM hditem;
Index: programs/taskmgr/graph.c
===================================================================
RCS file: /home/wine/wine/programs/taskmgr/graph.c,v
retrieving revision 1.4
diff -u -p -r1.4 graph.c
--- programs/taskmgr/graph.c 14 Sep 2005 10:06:09 -0000 1.4
+++ programs/taskmgr/graph.c 21 Mar 2006 14:29:13 -0000
@@ -40,110 +40,7 @@
WNDPROC OldGraphWndProc;
-void Graph_DrawCpuUsageGraph(HDC hDC, HWND hWnd);
-void Graph_DrawMemUsageGraph(HDC hDC, HWND hWnd);
-void Graph_DrawMemUsageHistoryGraph(HDC hDC, HWND hWnd);
-
-INT_PTR CALLBACK
-Graph_WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
-{
- HDC hdc;
- PAINTSTRUCT ps;
- LONG WindowId;
-
- switch (message)
- {
- case WM_ERASEBKGND:
- return TRUE;
-
- /*
- * Filter out mouse & keyboard messages
- */
- /* case WM_APPCOMMAND: */
- case WM_CAPTURECHANGED:
- case WM_LBUTTONDBLCLK:
- case WM_LBUTTONDOWN:
- case WM_LBUTTONUP:
- case WM_MBUTTONDBLCLK:
- case WM_MBUTTONDOWN:
- case WM_MBUTTONUP:
- case WM_MOUSEACTIVATE:
- case WM_MOUSEHOVER:
- case WM_MOUSELEAVE:
- case WM_MOUSEMOVE:
- /* case WM_MOUSEWHEEL: */
- case WM_NCHITTEST:
- case WM_NCLBUTTONDBLCLK:
- case WM_NCLBUTTONDOWN:
- case WM_NCLBUTTONUP:
- case WM_NCMBUTTONDBLCLK:
- case WM_NCMBUTTONDOWN:
- case WM_NCMBUTTONUP:
- /* case WM_NCMOUSEHOVER: */
- /* case WM_NCMOUSELEAVE: */
- case WM_NCMOUSEMOVE:
- case WM_NCRBUTTONDBLCLK:
- case WM_NCRBUTTONDOWN:
- case WM_NCRBUTTONUP:
- /* case WM_NCXBUTTONDBLCLK: */
- /* case WM_NCXBUTTONDOWN: */
- /* case WM_NCXBUTTONUP: */
- case WM_RBUTTONDBLCLK:
- case WM_RBUTTONDOWN:
- case WM_RBUTTONUP:
- /* case WM_XBUTTONDBLCLK: */
- /* case WM_XBUTTONDOWN: */
- /* case WM_XBUTTONUP: */
- case WM_ACTIVATE:
- case WM_CHAR:
- case WM_DEADCHAR:
- case WM_GETHOTKEY:
- case WM_HOTKEY:
- case WM_KEYDOWN:
- case WM_KEYUP:
- case WM_KILLFOCUS:
- case WM_SETFOCUS:
- case WM_SETHOTKEY:
- case WM_SYSCHAR:
- case WM_SYSDEADCHAR:
- case WM_SYSKEYDOWN:
- case WM_SYSKEYUP:
-
- case WM_NCCALCSIZE:
- return 0;
-
- case WM_PAINT:
-
- hdc = BeginPaint(hWnd, &ps);
-
- WindowId = GetWindowLongPtr(hWnd, GWLP_ID);
-
- switch (WindowId)
- {
- case IDC_CPU_USAGE_GRAPH:
- Graph_DrawCpuUsageGraph(hdc, hWnd);
- break;
- case IDC_MEM_USAGE_GRAPH:
- Graph_DrawMemUsageGraph(hdc, hWnd);
- break;
- case IDC_MEM_USAGE_HISTORY_GRAPH:
- Graph_DrawMemUsageHistoryGraph(hdc, hWnd);
- break;
- }
-
- EndPaint(hWnd, &ps);
-
- return 0;
-
- }
-
- /*
- * We pass on all non-handled messages
- */
- return CallWindowProc((WNDPROC)OldGraphWndProc, hWnd, message, wParam, lParam);
-}
-
-void Graph_DrawCpuUsageGraph(HDC hDC, HWND hWnd)
+static void Graph_DrawCpuUsageGraph(HDC hDC, HWND hWnd)
{
RECT rcClient;
RECT rcBarLeft;
@@ -323,7 +220,7 @@ void Graph_DrawCpuUsageGraph(HDC hDC, HW
}
}
-void Graph_DrawMemUsageGraph(HDC hDC, HWND hWnd)
+static void Graph_DrawMemUsageGraph(HDC hDC, HWND hWnd)
{
RECT rcClient;
RECT rcBarLeft;
@@ -418,7 +315,7 @@ void Graph_DrawMemUsageGraph(HDC hDC, HW
}
}
-void Graph_DrawMemUsageHistoryGraph(HDC hDC, HWND hWnd)
+static void Graph_DrawMemUsageHistoryGraph(HDC hDC, HWND hWnd)
{
RECT rcClient;
ULONGLONG CommitChargeLimit;
@@ -473,3 +370,102 @@ void Graph_DrawMemUsageHistoryGraph(HDC
{
}
}
+
+INT_PTR CALLBACK
+Graph_WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ HDC hdc;
+ PAINTSTRUCT ps;
+ LONG WindowId;
+
+ switch (message)
+ {
+ case WM_ERASEBKGND:
+ return TRUE;
+
+ /*
+ * Filter out mouse & keyboard messages
+ */
+ /* case WM_APPCOMMAND: */
+ case WM_CAPTURECHANGED:
+ case WM_LBUTTONDBLCLK:
+ case WM_LBUTTONDOWN:
+ case WM_LBUTTONUP:
+ case WM_MBUTTONDBLCLK:
+ case WM_MBUTTONDOWN:
+ case WM_MBUTTONUP:
+ case WM_MOUSEACTIVATE:
+ case WM_MOUSEHOVER:
+ case WM_MOUSELEAVE:
+ case WM_MOUSEMOVE:
+ /* case WM_MOUSEWHEEL: */
+ case WM_NCHITTEST:
+ case WM_NCLBUTTONDBLCLK:
+ case WM_NCLBUTTONDOWN:
+ case WM_NCLBUTTONUP:
+ case WM_NCMBUTTONDBLCLK:
+ case WM_NCMBUTTONDOWN:
+ case WM_NCMBUTTONUP:
+ /* case WM_NCMOUSEHOVER: */
+ /* case WM_NCMOUSELEAVE: */
+ case WM_NCMOUSEMOVE:
+ case WM_NCRBUTTONDBLCLK:
+ case WM_NCRBUTTONDOWN:
+ case WM_NCRBUTTONUP:
+ /* case WM_NCXBUTTONDBLCLK: */
+ /* case WM_NCXBUTTONDOWN: */
+ /* case WM_NCXBUTTONUP: */
+ case WM_RBUTTONDBLCLK:
+ case WM_RBUTTONDOWN:
+ case WM_RBUTTONUP:
+ /* case WM_XBUTTONDBLCLK: */
+ /* case WM_XBUTTONDOWN: */
+ /* case WM_XBUTTONUP: */
+ case WM_ACTIVATE:
+ case WM_CHAR:
+ case WM_DEADCHAR:
+ case WM_GETHOTKEY:
+ case WM_HOTKEY:
+ case WM_KEYDOWN:
+ case WM_KEYUP:
+ case WM_KILLFOCUS:
+ case WM_SETFOCUS:
+ case WM_SETHOTKEY:
+ case WM_SYSCHAR:
+ case WM_SYSDEADCHAR:
+ case WM_SYSKEYDOWN:
+ case WM_SYSKEYUP:
+
+ case WM_NCCALCSIZE:
+ return 0;
+
+ case WM_PAINT:
+
+ hdc = BeginPaint(hWnd, &ps);
+
+ WindowId = GetWindowLongPtr(hWnd, GWLP_ID);
+
+ switch (WindowId)
+ {
+ case IDC_CPU_USAGE_GRAPH:
+ Graph_DrawCpuUsageGraph(hdc, hWnd);
+ break;
+ case IDC_MEM_USAGE_GRAPH:
+ Graph_DrawMemUsageGraph(hdc, hWnd);
+ break;
+ case IDC_MEM_USAGE_HISTORY_GRAPH:
+ Graph_DrawMemUsageHistoryGraph(hdc, hWnd);
+ break;
+ }
+
+ EndPaint(hWnd, &ps);
+
+ return 0;
+
+ }
+
+ /*
+ * We pass on all non-handled messages
+ */
+ return CallWindowProc((WNDPROC)OldGraphWndProc, hWnd, message, wParam, lParam);
+}
Index: programs/taskmgr/perfpage.c
===================================================================
RCS file: /home/wine/wine/programs/taskmgr/perfpage.c,v
retrieving revision 1.6
diff -u -p -r1.6 perfpage.c
--- programs/taskmgr/perfpage.c 14 Sep 2005 10:29:45 -0000 1.6
+++ programs/taskmgr/perfpage.c 21 Mar 2006 14:29:13 -0000
@@ -67,7 +67,6 @@ HWND hPerformancePageTotalsThreadCountE
static int nPerformancePageWidth;
static int nPerformancePageHeight;
static HANDLE hPerformancePageEvent = NULL; /* When this event becomes signaled then we refresh the performance page */
-DWORD WINAPI PerformancePageRefreshThread(void *lpParameter);
static void AdjustFrameSize(HWND hCntrl, HWND hDlg, int nXDifference, int nYDifference, int pos)
{
@@ -114,7 +113,154 @@ static void AdjustCntrlPos(int ctrl_id,
{
AdjustFrameSize(GetDlgItem(hDlg, ctrl_id), hDlg, nXDifference, nYDifference, 0);
}
-
+void RefreshPerformancePage(void)
+{
+ /* Signal the event so that our refresh thread */
+ /* will wake up and refresh the performance page */
+ SetEvent(hPerformancePageEvent);
+}
+
+static DWORD WINAPI PerformancePageRefreshThread(void *lpParameter)
+{
+ ULONG CommitChargeTotal;
+ ULONG CommitChargeLimit;
+ ULONG CommitChargePeak;
+
+ ULONG KernelMemoryTotal;
+ ULONG KernelMemoryPaged;
+ ULONG KernelMemoryNonPaged;
+
+ ULONG PhysicalMemoryTotal;
+ ULONG PhysicalMemoryAvailable;
+ ULONG PhysicalMemorySystemCache;
+
+ ULONG TotalHandles;
+ ULONG TotalThreads;
+ ULONG TotalProcesses;
+
+ TCHAR Text[260];
+
+ /* Create the event */
+ hPerformancePageEvent = CreateEvent(NULL, TRUE, TRUE, NULL);
+
+ /* If we couldn't create the event then exit the thread */
+ if (!hPerformancePageEvent)
+ return 0;
+
+ while (1)
+ {
+ DWORD dwWaitVal;
+
+ /* Wait on the event */
+ dwWaitVal = WaitForSingleObject(hPerformancePageEvent, INFINITE);
+
+ /* If the wait failed then the event object must have been */
+ /* closed and the task manager is exiting so exit this thread */
+ if (dwWaitVal == WAIT_FAILED)
+ return 0;
+
+ if (dwWaitVal == WAIT_OBJECT_0)
+ {
+ ULONG CpuUsage;
+ ULONG CpuKernelUsage;
+ int nBarsUsed1;
+ int nBarsUsed2;
+
+ /* Reset our event */
+ ResetEvent(hPerformancePageEvent);
+
+ /*
+ * Update the commit charge info
+ */
+ CommitChargeTotal = PerfDataGetCommitChargeTotalK();
+ CommitChargeLimit = PerfDataGetCommitChargeLimitK();
+ CommitChargePeak = PerfDataGetCommitChargePeakK();
+ _ultoa(CommitChargeTotal, Text, 10);
+ SetWindowText(hPerformancePageCommitChargeTotalEdit, Text);
+ _ultoa(CommitChargeLimit, Text, 10);
+ SetWindowText(hPerformancePageCommitChargeLimitEdit, Text);
+ _ultoa(CommitChargePeak, Text, 10);
+ SetWindowText(hPerformancePageCommitChargePeakEdit, Text);
+ wsprintf(Text, _T("Mem Usage: %dK / %dK"), CommitChargeTotal, CommitChargeLimit);
+ SendMessage(hStatusWnd, SB_SETTEXT, 2, (LPARAM)Text);
+
+ /*
+ * Update the kernel memory info
+ */
+ KernelMemoryTotal = PerfDataGetKernelMemoryTotalK();
+ KernelMemoryPaged = PerfDataGetKernelMemoryPagedK();
+ KernelMemoryNonPaged = PerfDataGetKernelMemoryNonPagedK();
+ _ultoa(KernelMemoryTotal, Text, 10);
+ SetWindowText(hPerformancePageKernelMemoryTotalEdit, Text);
+ _ultoa(KernelMemoryPaged, Text, 10);
+ SetWindowText(hPerformancePageKernelMemoryPagedEdit, Text);
+ _ultoa(KernelMemoryNonPaged, Text, 10);
+ SetWindowText(hPerformancePageKernelMemoryNonPagedEdit, Text);
+
+ /*
+ * Update the physical memory info
+ */
+ PhysicalMemoryTotal = PerfDataGetPhysicalMemoryTotalK();
+ PhysicalMemoryAvailable = PerfDataGetPhysicalMemoryAvailableK();
+ PhysicalMemorySystemCache = PerfDataGetPhysicalMemorySystemCacheK();
+ _ultoa(PhysicalMemoryTotal, Text, 10);
+ SetWindowText(hPerformancePagePhysicalMemoryTotalEdit, Text);
+ _ultoa(PhysicalMemoryAvailable, Text, 10);
+ SetWindowText(hPerformancePagePhysicalMemoryAvailableEdit, Text);
+ _ultoa(PhysicalMemorySystemCache, Text, 10);
+ SetWindowText(hPerformancePagePhysicalMemorySystemCacheEdit, Text);
+
+ /*
+ * Update the totals info
+ */
+ TotalHandles = PerfDataGetSystemHandleCount();
+ TotalThreads = PerfDataGetTotalThreadCount();
+ TotalProcesses = PerfDataGetProcessCount();
+ _ultoa(TotalHandles, Text, 10);
+ SetWindowText(hPerformancePageTotalsHandleCountEdit, Text);
+ _ultoa(TotalThreads, Text, 10);
+ SetWindowText(hPerformancePageTotalsThreadCountEdit, Text);
+ _ultoa(TotalProcesses, Text, 10);
+ SetWindowText(hPerformancePageTotalsProcessCountEdit, Text);
+
+ /*
+ * Redraw the graphs
+ */
+ InvalidateRect(hPerformancePageCpuUsageGraph, NULL, FALSE);
+ InvalidateRect(hPerformancePageMemUsageGraph, NULL, FALSE);
+
+ /*
+ * Get the CPU usage
+ */
+ CpuUsage = PerfDataGetProcessorUsage();
+ CpuKernelUsage = PerfDataGetProcessorSystemUsage();
+ if (CpuUsage < 0 ) CpuUsage = 0;
+ if (CpuUsage > 100) CpuUsage = 100;
+ if (CpuKernelUsage < 0) CpuKernelUsage = 0;
+ if (CpuKernelUsage > 100) CpuKernelUsage = 100;
+
+ /*
+ * Get the memory usage
+ */
+ CommitChargeTotal = (ULONGLONG)PerfDataGetCommitChargeTotalK();
+ CommitChargeLimit = (ULONGLONG)PerfDataGetCommitChargeLimitK();
+ nBarsUsed1 = CommitChargeLimit ? ((CommitChargeTotal * 100) / CommitChargeLimit) : 0;
+
+ PhysicalMemoryTotal = PerfDataGetPhysicalMemoryTotalK();
+ PhysicalMemoryAvailable = PerfDataGetPhysicalMemoryAvailableK();
+ nBarsUsed2 = PhysicalMemoryTotal ? ((PhysicalMemoryAvailable * 100) / PhysicalMemoryTotal) : 0;
+
+
+ GraphCtrl_AppendPoint(&PerformancePageCpuUsageHistoryGraph, CpuUsage, CpuKernelUsage, 0.0, 0.0);
+ GraphCtrl_AppendPoint(&PerformancePageMemUsageHistoryGraph, nBarsUsed1, nBarsUsed2, 0.0, 0.0);
+ /* PerformancePageMemUsageHistoryGraph.SetRange(0.0, 100.0, 10) ; */
+ InvalidateRect(hPerformancePageMemUsageHistoryGraph, NULL, FALSE);
+ InvalidateRect(hPerformancePageCpuUsageHistoryGraph, NULL, FALSE);
+ }
+ }
+ return 0;
+}
+
INT_PTR CALLBACK
PerformancePageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
{
@@ -305,154 +451,6 @@ PerformancePageWndProc(HWND hDlg, UINT m
return 0;
}
-void RefreshPerformancePage(void)
-{
- /* Signal the event so that our refresh thread */
- /* will wake up and refresh the performance page */
- SetEvent(hPerformancePageEvent);
-}
-
-DWORD WINAPI PerformancePageRefreshThread(void *lpParameter)
-{
- ULONG CommitChargeTotal;
- ULONG CommitChargeLimit;
- ULONG CommitChargePeak;
-
- ULONG KernelMemoryTotal;
- ULONG KernelMemoryPaged;
- ULONG KernelMemoryNonPaged;
-
- ULONG PhysicalMemoryTotal;
- ULONG PhysicalMemoryAvailable;
- ULONG PhysicalMemorySystemCache;
-
- ULONG TotalHandles;
- ULONG TotalThreads;
- ULONG TotalProcesses;
-
- TCHAR Text[260];
-
- /* Create the event */
- hPerformancePageEvent = CreateEvent(NULL, TRUE, TRUE, NULL);
-
- /* If we couldn't create the event then exit the thread */
- if (!hPerformancePageEvent)
- return 0;
-
- while (1)
- {
- DWORD dwWaitVal;
-
- /* Wait on the event */
- dwWaitVal = WaitForSingleObject(hPerformancePageEvent, INFINITE);
-
- /* If the wait failed then the event object must have been */
- /* closed and the task manager is exiting so exit this thread */
- if (dwWaitVal == WAIT_FAILED)
- return 0;
-
- if (dwWaitVal == WAIT_OBJECT_0)
- {
- ULONG CpuUsage;
- ULONG CpuKernelUsage;
- int nBarsUsed1;
- int nBarsUsed2;
-
- /* Reset our event */
- ResetEvent(hPerformancePageEvent);
-
- /*
- * Update the commit charge info
- */
- CommitChargeTotal = PerfDataGetCommitChargeTotalK();
- CommitChargeLimit = PerfDataGetCommitChargeLimitK();
- CommitChargePeak = PerfDataGetCommitChargePeakK();
- _ultoa(CommitChargeTotal, Text, 10);
- SetWindowText(hPerformancePageCommitChargeTotalEdit, Text);
- _ultoa(CommitChargeLimit, Text, 10);
- SetWindowText(hPerformancePageCommitChargeLimitEdit, Text);
- _ultoa(CommitChargePeak, Text, 10);
- SetWindowText(hPerformancePageCommitChargePeakEdit, Text);
- wsprintf(Text, _T("Mem Usage: %dK / %dK"), CommitChargeTotal, CommitChargeLimit);
- SendMessage(hStatusWnd, SB_SETTEXT, 2, (LPARAM)Text);
-
- /*
- * Update the kernel memory info
- */
- KernelMemoryTotal = PerfDataGetKernelMemoryTotalK();
- KernelMemoryPaged = PerfDataGetKernelMemoryPagedK();
- KernelMemoryNonPaged = PerfDataGetKernelMemoryNonPagedK();
- _ultoa(KernelMemoryTotal, Text, 10);
- SetWindowText(hPerformancePageKernelMemoryTotalEdit, Text);
- _ultoa(KernelMemoryPaged, Text, 10);
- SetWindowText(hPerformancePageKernelMemoryPagedEdit, Text);
- _ultoa(KernelMemoryNonPaged, Text, 10);
- SetWindowText(hPerformancePageKernelMemoryNonPagedEdit, Text);
-
- /*
- * Update the physical memory info
- */
- PhysicalMemoryTotal = PerfDataGetPhysicalMemoryTotalK();
- PhysicalMemoryAvailable = PerfDataGetPhysicalMemoryAvailableK();
- PhysicalMemorySystemCache = PerfDataGetPhysicalMemorySystemCacheK();
- _ultoa(PhysicalMemoryTotal, Text, 10);
- SetWindowText(hPerformancePagePhysicalMemoryTotalEdit, Text);
- _ultoa(PhysicalMemoryAvailable, Text, 10);
- SetWindowText(hPerformancePagePhysicalMemoryAvailableEdit, Text);
- _ultoa(PhysicalMemorySystemCache, Text, 10);
- SetWindowText(hPerformancePagePhysicalMemorySystemCacheEdit, Text);
-
- /*
- * Update the totals info
- */
- TotalHandles = PerfDataGetSystemHandleCount();
- TotalThreads = PerfDataGetTotalThreadCount();
- TotalProcesses = PerfDataGetProcessCount();
- _ultoa(TotalHandles, Text, 10);
- SetWindowText(hPerformancePageTotalsHandleCountEdit, Text);
- _ultoa(TotalThreads, Text, 10);
- SetWindowText(hPerformancePageTotalsThreadCountEdit, Text);
- _ultoa(TotalProcesses, Text, 10);
- SetWindowText(hPerformancePageTotalsProcessCountEdit, Text);
-
- /*
- * Redraw the graphs
- */
- InvalidateRect(hPerformancePageCpuUsageGraph, NULL, FALSE);
- InvalidateRect(hPerformancePageMemUsageGraph, NULL, FALSE);
-
- /*
- * Get the CPU usage
- */
- CpuUsage = PerfDataGetProcessorUsage();
- CpuKernelUsage = PerfDataGetProcessorSystemUsage();
- if (CpuUsage < 0 ) CpuUsage = 0;
- if (CpuUsage > 100) CpuUsage = 100;
- if (CpuKernelUsage < 0) CpuKernelUsage = 0;
- if (CpuKernelUsage > 100) CpuKernelUsage = 100;
-
- /*
- * Get the memory usage
- */
- CommitChargeTotal = (ULONGLONG)PerfDataGetCommitChargeTotalK();
- CommitChargeLimit = (ULONGLONG)PerfDataGetCommitChargeLimitK();
- nBarsUsed1 = CommitChargeLimit ? ((CommitChargeTotal * 100) / CommitChargeLimit) : 0;
-
- PhysicalMemoryTotal = PerfDataGetPhysicalMemoryTotalK();
- PhysicalMemoryAvailable = PerfDataGetPhysicalMemoryAvailableK();
- nBarsUsed2 = PhysicalMemoryTotal ? ((PhysicalMemoryAvailable * 100) / PhysicalMemoryTotal) : 0;
-
-
- GraphCtrl_AppendPoint(&PerformancePageCpuUsageHistoryGraph, CpuUsage, CpuKernelUsage, 0.0, 0.0);
- GraphCtrl_AppendPoint(&PerformancePageMemUsageHistoryGraph, nBarsUsed1, nBarsUsed2, 0.0, 0.0);
- /* PerformancePageMemUsageHistoryGraph.SetRange(0.0, 100.0, 10) ; */
- InvalidateRect(hPerformancePageMemUsageHistoryGraph, NULL, FALSE);
- InvalidateRect(hPerformancePageCpuUsageHistoryGraph, NULL, FALSE);
- }
- }
- return 0;
-}
-
void PerformancePage_OnViewShowKernelTimes(void)
{
HMENU hMenu;
Index: programs/taskmgr/proclist.c
===================================================================
RCS file: /home/wine/wine/programs/taskmgr/proclist.c,v
retrieving revision 1.5
diff -u -p -r1.5 proclist.c
--- programs/taskmgr/proclist.c 17 Mar 2006 12:24:04 -0000 1.5
+++ programs/taskmgr/proclist.c 21 Mar 2006 14:29:13 -0000
@@ -34,8 +34,6 @@
#include "perfdata.h"
-LRESULT CALLBACK ProcessListWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam);
-
WNDPROC OldProcessListWndProc;
Index: programs/taskmgr/procpage.c
===================================================================
RCS file: /home/wine/wine/programs/taskmgr/procpage.c,v
retrieving revision 1.9
diff -u -p -r1.9 procpage.c
--- programs/taskmgr/procpage.c 17 Mar 2006 12:24:05 -0000 1.9
+++ programs/taskmgr/procpage.c 21 Mar 2006 14:29:13 -0000
@@ -47,120 +47,100 @@ static int nProcessPageHeight;
static HANDLE hProcessPageEvent = NULL; /* When this event becomes signaled then we refresh the process list */
-void ProcessPageOnNotify(WPARAM wParam, LPARAM lParam);
-void CommaSeparateNumberString(LPTSTR strNumber, int nMaxCount);
-void ProcessPageShowContextMenu(DWORD dwProcessId);
-DWORD WINAPI ProcessPageRefreshThread(void *lpParameter);
-INT_PTR CALLBACK
-ProcessPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+static void CommaSeparateNumberString(LPTSTR strNumber, int nMaxCount)
{
- RECT rc;
- int nXDifference;
- int nYDifference;
- int cx, cy;
-
- switch (message) {
- case WM_INITDIALOG:
- /*
- * Save the width and height
- */
- GetClientRect(hDlg, &rc);
- nProcessPageWidth = rc.right;
- nProcessPageHeight = rc.bottom;
-
- /* Update window position */
- SetWindowPos(hDlg, NULL, 15, 30, 0, 0, SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOSIZE|SWP_NOZORDER);
-
- /*
- * Get handles to the controls
- */
- hProcessPageListCtrl = GetDlgItem(hDlg, IDC_PROCESSLIST);
- hProcessPageHeaderCtrl = ListView_GetHeader(hProcessPageListCtrl);
- hProcessPageEndProcessButton = GetDlgItem(hDlg, IDC_ENDPROCESS);
- hProcessPageShowAllProcessesButton = GetDlgItem(hDlg, IDC_SHOWALLPROCESSES);
+ TCHAR temp[260];
+ UINT i, j, k;
- /*
- * Set the font, title, and extended window styles for the list control
- */
- SendMessage(hProcessPageListCtrl, WM_SETFONT, SendMessage(hProcessPage, WM_GETFONT, 0, 0), TRUE);
- SetWindowText(hProcessPageListCtrl, _T("Processes"));
- SendMessage(hProcessPageListCtrl, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, ListView_GetExtendedListViewStyle(hProcessPageListCtrl) | LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP);
+ for (i=0,j=0; i<(_tcslen(strNumber) % 3); i++, j++)
+ temp[j] = strNumber[i];
+ for (k=0; i<_tcslen(strNumber); i++,j++,k++) {
+ if ((k % 3 == 0) && (j > 0))
+ temp[j++] = _T(',');
+ temp[j] = strNumber[i];
+ }
+ temp[j] = _T('\0');
+ _tcsncpy(strNumber, temp, nMaxCount);
+}
- AddColumns();
+static void ProcessPageShowContextMenu(DWORD dwProcessId)
+{
+ HMENU hMenu;
+ HMENU hSubMenu;
+ HMENU hPriorityMenu;
+ POINT pt;
+ SYSTEM_INFO si;
+ HANDLE hProcess;
+ DWORD dwProcessPriorityClass;
+ TCHAR strDebugger[260];
+ DWORD dwDebuggerSize;
+ HKEY hKey;
+ UINT Idx;
- /*
- * Subclass the process list control so we can intercept WM_ERASEBKGND
- */
- OldProcessListWndProc = (WNDPROC)SetWindowLongPtr(hProcessPageListCtrl, GWLP_WNDPROC, (LONG_PTR)ProcessListWndProc);
+ memset(&si, 0, sizeof(SYSTEM_INFO));
- /* Start our refresh thread */
- CreateThread(NULL, 0, ProcessPageRefreshThread, NULL, 0, NULL);
+ GetCursorPos(&pt);
+ GetSystemInfo(&si);
- return TRUE;
+ hMenu = LoadMenu(hInst, MAKEINTRESOURCE(IDR_PROCESS_PAGE_CONTEXT));
+ hSubMenu = GetSubMenu(hMenu, 0);
+ hPriorityMenu = GetSubMenu(hSubMenu, 4);
- case WM_DESTROY:
- /* Close the event handle, this will make the */
- /* refresh thread exit when the wait fails */
- CloseHandle(hProcessPageEvent);
+ hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, dwProcessId);
+ dwProcessPriorityClass = GetPriorityClass(hProcess);
+ CloseHandle(hProcess);
- SaveColumnSettings();
+ if (si.dwNumberOfProcessors < 2)
+ RemoveMenu(hSubMenu, ID_PROCESS_PAGE_SETAFFINITY, MF_BYCOMMAND);
+
+ if (!AreDebugChannelsSupported())
+ RemoveMenu(hSubMenu, ID_PROCESS_PAGE_DEBUGCHANNELS, MF_BYCOMMAND);
+ switch (dwProcessPriorityClass) {
+ case REALTIME_PRIORITY_CLASS:
+ CheckMenuRadioItem(hPriorityMenu, ID_PROCESS_PAGE_SETPRIORITY_REALTIME, ID_PROCESS_PAGE_SETPRIORITY_LOW, ID_PROCESS_PAGE_SETPRIORITY_REALTIME, MF_BYCOMMAND);
break;
-
- case WM_COMMAND:
- /* Handle the button clicks */
- switch (LOWORD(wParam))
- {
- case IDC_ENDPROCESS:
- ProcessPage_OnEndProcess();
- }
+ case HIGH_PRIORITY_CLASS:
+ CheckMenuRadioItem(hPriorityMenu, ID_PROCESS_PAGE_SETPRIORITY_REALTIME, ID_PROCESS_PAGE_SETPRIORITY_LOW, ID_PROCESS_PAGE_SETPRIORITY_HIGH, MF_BYCOMMAND);
break;
-
- case WM_SIZE:
- if (wParam == SIZE_MINIMIZED)
- return 0;
-
- cx = LOWORD(lParam);
- cy = HIWORD(lParam);
- nXDifference = cx - nProcessPageWidth;
- nYDifference = cy - nProcessPageHeight;
- nProcessPageWidth = cx;
- nProcessPageHeight = cy;
-
- /* Reposition the application page's controls */
- GetWindowRect(hProcessPageListCtrl, &rc);
- cx = (rc.right - rc.left) + nXDifference;
- cy = (rc.bottom - rc.top) + nYDifference;
- SetWindowPos(hProcessPageListCtrl, NULL, 0, 0, cx, cy, SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOMOVE|SWP_NOZORDER);
- InvalidateRect(hProcessPageListCtrl, NULL, TRUE);
-
- GetClientRect(hProcessPageEndProcessButton, &rc);
- MapWindowPoints(hProcessPageEndProcessButton, hDlg, (LPPOINT)(&rc), (sizeof(RECT)/sizeof(POINT)) );
- cx = rc.left + nXDifference;
- cy = rc.top + nYDifference;
- SetWindowPos(hProcessPageEndProcessButton, NULL, cx, cy, 0, 0, SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOSIZE|SWP_NOZORDER);
- InvalidateRect(hProcessPageEndProcessButton, NULL, TRUE);
-
- GetClientRect(hProcessPageShowAllProcessesButton, &rc);
- MapWindowPoints(hProcessPageShowAllProcessesButton, hDlg, (LPPOINT)(&rc), (sizeof(RECT)/sizeof(POINT)) );
- cx = rc.left;
- cy = rc.top + nYDifference;
- SetWindowPos(hProcessPageShowAllProcessesButton, NULL, cx, cy, 0, 0, SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOSIZE|SWP_NOZORDER);
- InvalidateRect(hProcessPageShowAllProcessesButton, NULL, TRUE);
-
+ case ABOVE_NORMAL_PRIORITY_CLASS:
+ CheckMenuRadioItem(hPriorityMenu, ID_PROCESS_PAGE_SETPRIORITY_REALTIME, ID_PROCESS_PAGE_SETPRIORITY_LOW, ID_PROCESS_PAGE_SETPRIORITY_ABOVENORMAL, MF_BYCOMMAND);
break;
-
- case WM_NOTIFY:
-
- ProcessPageOnNotify(wParam, lParam);
+ case NORMAL_PRIORITY_CLASS:
+ CheckMenuRadioItem(hPriorityMenu, ID_PROCESS_PAGE_SETPRIORITY_REALTIME, ID_PROCESS_PAGE_SETPRIORITY_LOW, ID_PROCESS_PAGE_SETPRIORITY_NORMAL, MF_BYCOMMAND);
+ break;
+ case BELOW_NORMAL_PRIORITY_CLASS:
+ CheckMenuRadioItem(hPriorityMenu, ID_PROCESS_PAGE_SETPRIORITY_REALTIME, ID_PROCESS_PAGE_SETPRIORITY_LOW, ID_PROCESS_PAGE_SETPRIORITY_BELOWNORMAL, MF_BYCOMMAND);
+ break;
+ case IDLE_PRIORITY_CLASS:
+ CheckMenuRadioItem(hPriorityMenu, ID_PROCESS_PAGE_SETPRIORITY_REALTIME, ID_PROCESS_PAGE_SETPRIORITY_LOW, ID_PROCESS_PAGE_SETPRIORITY_LOW, MF_BYCOMMAND);
break;
}
- return 0;
+ if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("Software\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug"), 0, KEY_READ, &hKey) == ERROR_SUCCESS)
+ {
+ dwDebuggerSize = 260;
+ if (RegQueryValueEx(hKey, _T("Debugger"), NULL, NULL, (LPBYTE)strDebugger, &dwDebuggerSize) == ERROR_SUCCESS)
+ {
+ for (Idx=0; Idx<_tcslen(strDebugger); Idx++)
+ strDebugger[Idx] = toupper(strDebugger[Idx]);
+
+ if (_tcsstr(strDebugger, _T("DRWTSN32")))
+ EnableMenuItem(hSubMenu, ID_PROCESS_PAGE_DEBUG, MF_BYCOMMAND|MF_DISABLED|MF_GRAYED);
+ }
+ else
+ EnableMenuItem(hSubMenu, ID_PROCESS_PAGE_DEBUG, MF_BYCOMMAND|MF_DISABLED|MF_GRAYED);
+
+ RegCloseKey(hKey);
+ } else {
+ EnableMenuItem(hSubMenu, ID_PROCESS_PAGE_DEBUG, MF_BYCOMMAND|MF_DISABLED|MF_GRAYED);
+ }
+ TrackPopupMenu(hSubMenu, TPM_LEFTALIGN|TPM_TOPALIGN|TPM_LEFTBUTTON, pt.x, pt.y, 0, hMainWnd, NULL);
+ DestroyMenu(hMenu);
}
-void ProcessPageOnNotify(WPARAM wParam, LPARAM lParam)
+static void ProcessPageOnNotify(WPARAM wParam, LPARAM lParam)
{
int idctrl;
LPNMHDR pnmh;
@@ -396,98 +376,6 @@ void ProcessPageOnNotify(WPARAM wParam,
}
-void CommaSeparateNumberString(LPTSTR strNumber, int nMaxCount)
-{
- TCHAR temp[260];
- UINT i, j, k;
-
- for (i=0,j=0; i<(_tcslen(strNumber) % 3); i++, j++)
- temp[j] = strNumber[i];
- for (k=0; i<_tcslen(strNumber); i++,j++,k++) {
- if ((k % 3 == 0) && (j > 0))
- temp[j++] = _T(',');
- temp[j] = strNumber[i];
- }
- temp[j] = _T('\0');
- _tcsncpy(strNumber, temp, nMaxCount);
-}
-
-void ProcessPageShowContextMenu(DWORD dwProcessId)
-{
- HMENU hMenu;
- HMENU hSubMenu;
- HMENU hPriorityMenu;
- POINT pt;
- SYSTEM_INFO si;
- HANDLE hProcess;
- DWORD dwProcessPriorityClass;
- TCHAR strDebugger[260];
- DWORD dwDebuggerSize;
- HKEY hKey;
- UINT Idx;
-
- memset(&si, 0, sizeof(SYSTEM_INFO));
-
- GetCursorPos(&pt);
- GetSystemInfo(&si);
-
- hMenu = LoadMenu(hInst, MAKEINTRESOURCE(IDR_PROCESS_PAGE_CONTEXT));
- hSubMenu = GetSubMenu(hMenu, 0);
- hPriorityMenu = GetSubMenu(hSubMenu, 4);
-
- hProcess = OpenProcess(PROCESS_QUERY_INFORMATION, FALSE, dwProcessId);
- dwProcessPriorityClass = GetPriorityClass(hProcess);
- CloseHandle(hProcess);
-
- if (si.dwNumberOfProcessors < 2)
- RemoveMenu(hSubMenu, ID_PROCESS_PAGE_SETAFFINITY, MF_BYCOMMAND);
-
- if (!AreDebugChannelsSupported())
- RemoveMenu(hSubMenu, ID_PROCESS_PAGE_DEBUGCHANNELS, MF_BYCOMMAND);
-
- switch (dwProcessPriorityClass) {
- case REALTIME_PRIORITY_CLASS:
- CheckMenuRadioItem(hPriorityMenu, ID_PROCESS_PAGE_SETPRIORITY_REALTIME, ID_PROCESS_PAGE_SETPRIORITY_LOW, ID_PROCESS_PAGE_SETPRIORITY_REALTIME, MF_BYCOMMAND);
- break;
- case HIGH_PRIORITY_CLASS:
- CheckMenuRadioItem(hPriorityMenu, ID_PROCESS_PAGE_SETPRIORITY_REALTIME, ID_PROCESS_PAGE_SETPRIORITY_LOW, ID_PROCESS_PAGE_SETPRIORITY_HIGH, MF_BYCOMMAND);
- break;
- case ABOVE_NORMAL_PRIORITY_CLASS:
- CheckMenuRadioItem(hPriorityMenu, ID_PROCESS_PAGE_SETPRIORITY_REALTIME, ID_PROCESS_PAGE_SETPRIORITY_LOW, ID_PROCESS_PAGE_SETPRIORITY_ABOVENORMAL, MF_BYCOMMAND);
- break;
- case NORMAL_PRIORITY_CLASS:
- CheckMenuRadioItem(hPriorityMenu, ID_PROCESS_PAGE_SETPRIORITY_REALTIME, ID_PROCESS_PAGE_SETPRIORITY_LOW, ID_PROCESS_PAGE_SETPRIORITY_NORMAL, MF_BYCOMMAND);
- break;
- case BELOW_NORMAL_PRIORITY_CLASS:
- CheckMenuRadioItem(hPriorityMenu, ID_PROCESS_PAGE_SETPRIORITY_REALTIME, ID_PROCESS_PAGE_SETPRIORITY_LOW, ID_PROCESS_PAGE_SETPRIORITY_BELOWNORMAL, MF_BYCOMMAND);
- break;
- case IDLE_PRIORITY_CLASS:
- CheckMenuRadioItem(hPriorityMenu, ID_PROCESS_PAGE_SETPRIORITY_REALTIME, ID_PROCESS_PAGE_SETPRIORITY_LOW, ID_PROCESS_PAGE_SETPRIORITY_LOW, MF_BYCOMMAND);
- break;
- }
-
- if (RegOpenKeyEx(HKEY_LOCAL_MACHINE, _T("Software\\Microsoft\\Windows NT\\CurrentVersion\\AeDebug"), 0, KEY_READ, &hKey) == ERROR_SUCCESS)
- {
- dwDebuggerSize = 260;
- if (RegQueryValueEx(hKey, _T("Debugger"), NULL, NULL, (LPBYTE)strDebugger, &dwDebuggerSize) == ERROR_SUCCESS)
- {
- for (Idx=0; Idx<_tcslen(strDebugger); Idx++)
- strDebugger[Idx] = toupper(strDebugger[Idx]);
-
- if (_tcsstr(strDebugger, _T("DRWTSN32")))
- EnableMenuItem(hSubMenu, ID_PROCESS_PAGE_DEBUG, MF_BYCOMMAND|MF_DISABLED|MF_GRAYED);
- }
- else
- EnableMenuItem(hSubMenu, ID_PROCESS_PAGE_DEBUG, MF_BYCOMMAND|MF_DISABLED|MF_GRAYED);
-
- RegCloseKey(hKey);
- } else {
- EnableMenuItem(hSubMenu, ID_PROCESS_PAGE_DEBUG, MF_BYCOMMAND|MF_DISABLED|MF_GRAYED);
- }
- TrackPopupMenu(hSubMenu, TPM_LEFTALIGN|TPM_TOPALIGN|TPM_LEFTBUTTON, pt.x, pt.y, 0, hMainWnd, NULL);
- DestroyMenu(hMenu);
-}
-
void RefreshProcessPage(void)
{
/* Signal the event so that our refresh thread */
@@ -495,7 +383,7 @@ void RefreshProcessPage(void)
SetEvent(hProcessPageEvent);
}
-DWORD WINAPI ProcessPageRefreshThread(void *lpParameter)
+static DWORD WINAPI ProcessPageRefreshThread(void *lpParameter)
{
ULONG OldProcessorUsage = 0;
ULONG OldProcessCount = 0;
@@ -544,3 +432,111 @@ DWORD WINAPI ProcessPageRefreshThread(vo
}
return 0;
}
+
+INT_PTR CALLBACK
+ProcessPageWndProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
+{
+ RECT rc;
+ int nXDifference;
+ int nYDifference;
+ int cx, cy;
+
+ switch (message) {
+ case WM_INITDIALOG:
+ /*
+ * Save the width and height
+ */
+ GetClientRect(hDlg, &rc);
+ nProcessPageWidth = rc.right;
+ nProcessPageHeight = rc.bottom;
+
+ /* Update window position */
+ SetWindowPos(hDlg, NULL, 15, 30, 0, 0, SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOSIZE|SWP_NOZORDER);
+
+ /*
+ * Get handles to the controls
+ */
+ hProcessPageListCtrl = GetDlgItem(hDlg, IDC_PROCESSLIST);
+ hProcessPageHeaderCtrl = ListView_GetHeader(hProcessPageListCtrl);
+ hProcessPageEndProcessButton = GetDlgItem(hDlg, IDC_ENDPROCESS);
+ hProcessPageShowAllProcessesButton = GetDlgItem(hDlg, IDC_SHOWALLPROCESSES);
+
+ /*
+ * Set the font, title, and extended window styles for the list control
+ */
+ SendMessage(hProcessPageListCtrl, WM_SETFONT, SendMessage(hProcessPage, WM_GETFONT, 0, 0), TRUE);
+ SetWindowText(hProcessPageListCtrl, _T("Processes"));
+ SendMessage(hProcessPageListCtrl, LVM_SETEXTENDEDLISTVIEWSTYLE, 0, ListView_GetExtendedListViewStyle(hProcessPageListCtrl) | LVS_EX_FULLROWSELECT | LVS_EX_HEADERDRAGDROP);
+
+ AddColumns();
+
+ /*
+ * Subclass the process list control so we can intercept WM_ERASEBKGND
+ */
+ OldProcessListWndProc = (WNDPROC)SetWindowLongPtr(hProcessPageListCtrl, GWLP_WNDPROC, (LONG_PTR)ProcessListWndProc);
+
+ /* Start our refresh thread */
+ CreateThread(NULL, 0, ProcessPageRefreshThread, NULL, 0, NULL);
+
+ return TRUE;
+
+ case WM_DESTROY:
+ /* Close the event handle, this will make the */
+ /* refresh thread exit when the wait fails */
+ CloseHandle(hProcessPageEvent);
+
+ SaveColumnSettings();
+
+ break;
+
+ case WM_COMMAND:
+ /* Handle the button clicks */
+ switch (LOWORD(wParam))
+ {
+ case IDC_ENDPROCESS:
+ ProcessPage_OnEndProcess();
+ }
+ break;
+
+ case WM_SIZE:
+ if (wParam == SIZE_MINIMIZED)
+ return 0;
+
+ cx = LOWORD(lParam);
+ cy = HIWORD(lParam);
+ nXDifference = cx - nProcessPageWidth;
+ nYDifference = cy - nProcessPageHeight;
+ nProcessPageWidth = cx;
+ nProcessPageHeight = cy;
+
+ /* Reposition the application page's controls */
+ GetWindowRect(hProcessPageListCtrl, &rc);
+ cx = (rc.right - rc.left) + nXDifference;
+ cy = (rc.bottom - rc.top) + nYDifference;
+ SetWindowPos(hProcessPageListCtrl, NULL, 0, 0, cx, cy, SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOMOVE|SWP_NOZORDER);
+ InvalidateRect(hProcessPageListCtrl, NULL, TRUE);
+
+ GetClientRect(hProcessPageEndProcessButton, &rc);
+ MapWindowPoints(hProcessPageEndProcessButton, hDlg, (LPPOINT)(&rc), (sizeof(RECT)/sizeof(POINT)) );
+ cx = rc.left + nXDifference;
+ cy = rc.top + nYDifference;
+ SetWindowPos(hProcessPageEndProcessButton, NULL, cx, cy, 0, 0, SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOSIZE|SWP_NOZORDER);
+ InvalidateRect(hProcessPageEndProcessButton, NULL, TRUE);
+
+ GetClientRect(hProcessPageShowAllProcessesButton, &rc);
+ MapWindowPoints(hProcessPageShowAllProcessesButton, hDlg, (LPPOINT)(&rc), (sizeof(RECT)/sizeof(POINT)) );
+ cx = rc.left;
+ cy = rc.top + nYDifference;
+ SetWindowPos(hProcessPageShowAllProcessesButton, NULL, cx, cy, 0, 0, SWP_NOACTIVATE|SWP_NOOWNERZORDER|SWP_NOSIZE|SWP_NOZORDER);
+ InvalidateRect(hProcessPageShowAllProcessesButton, NULL, TRUE);
+
+ break;
+
+ case WM_NOTIFY:
+
+ ProcessPageOnNotify(wParam, lParam);
+ break;
+ }
+
+ return 0;
+}
More information about the wine-patches
mailing list