ReactOS  0.4.12-dev-43-g63b00d8
applpage.c File Reference
#include "precomp.h"
Include dependency graph for applpage.c:

Go to the source code of this file.

Classes

struct  APPLICATION_PAGE_LIST_ITEM
 

Typedefs

typedef struct APPLICATION_PAGE_LIST_ITEMLPAPPLICATION_PAGE_LIST_ITEM
 

Functions

DWORD WINAPI ApplicationPageRefreshThread (void *lpParameter)
 
BOOL CALLBACK EnumWindowsProc (HWND hWnd, LPARAM lParam)
 
void AddOrUpdateHwnd (HWND hWnd, WCHAR *szTitle, HICON hIcon, BOOL bHung)
 
void ApplicationPageUpdate (void)
 
void ApplicationPageOnNotify (WPARAM wParam, LPARAM lParam)
 
void ApplicationPageShowContextMenu1 (void)
 
void ApplicationPageShowContextMenu2 (void)
 
int CALLBACK ApplicationPageCompareFunc (LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
 
int ProcGetIndexByProcessId (DWORD dwProcessId)
 
static INT GetSystemColorDepth (VOID)
 
void AppPageCleanup (void)
 
INT_PTR CALLBACK ApplicationPageWndProc (HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
 
void RefreshApplicationPage (void)
 
void UpdateApplicationListControlViewSetting (void)
 
void ApplicationPage_OnView (DWORD dwMode)
 
void ApplicationPage_OnWindowsTile (DWORD dwMode)
 
void ApplicationPage_OnWindowsMinimize (void)
 
void ApplicationPage_OnWindowsMaximize (void)
 
void ApplicationPage_OnWindowsCascade (void)
 
void ApplicationPage_OnWindowsBringToFront (void)
 
void ApplicationPage_OnSwitchTo (void)
 
void ApplicationPage_OnEndTask (void)
 
void ApplicationPage_OnGotoProcess (void)
 

Variables

HWND hApplicationPage
 
HWND hApplicationPageListCtrl
 
HWND hApplicationPageEndTaskButton
 
HWND hApplicationPageSwitchToButton
 
HWND hApplicationPageNewTaskButton
 
static int nApplicationPageWidth
 
static int nApplicationPageHeight
 
static BOOL bSortAscending = TRUE
 
BOOL noApps
 
BOOL bApplicationPageSelectionMade = FALSE
 
static HANDLE hApplicationThread = NULL
 
static DWORD dwApplicationThread
 

Typedef Documentation

◆ LPAPPLICATION_PAGE_LIST_ITEM

Function Documentation

◆ AddOrUpdateHwnd()

void AddOrUpdateHwnd ( HWND  hWnd,
WCHAR szTitle,
HICON  hIcon,
BOOL  bHung 
)

Definition at line 413 of file applpage.c.

Referenced by EnumWindowsProc().

414 {
416  HIMAGELIST hImageListLarge;
417  HIMAGELIST hImageListSmall;
418  LV_ITEM item;
419  int i;
420  BOOL bAlreadyInList = FALSE;
421 
422  memset(&item, 0, sizeof(LV_ITEM));
423 
424  /* Get the image lists */
427 
428  /* Check to see if it's already in our list */
430  {
431  memset(&item, 0, sizeof(LV_ITEM));
432  item.mask = LVIF_IMAGE|LVIF_PARAM;
433  item.iItem = i;
435 
436  pAPLI = (LPAPPLICATION_PAGE_LIST_ITEM)item.lParam;
437  if (pAPLI->hWnd == hWnd)
438  {
439  bAlreadyInList = TRUE;
440  break;
441  }
442  }
443 
444  /* If it is already in the list then update it if necessary */
445  if (bAlreadyInList)
446  {
447  /* Check to see if anything needs updating */
448  if ((pAPLI->hIcon != hIcon) ||
449  (_wcsicmp(pAPLI->szTitle, szTitle) != 0) ||
450  (pAPLI->bHung != bHung))
451  {
452  /* Update the structure */
453  pAPLI->hIcon = hIcon;
454  pAPLI->bHung = bHung;
455  wcscpy(pAPLI->szTitle, szTitle);
456 
457  /* Update the image list */
458  ImageList_ReplaceIcon(hImageListLarge, item.iItem, hIcon);
459  ImageList_ReplaceIcon(hImageListSmall, item.iItem, hIcon);
460 
461  /* Update the list view */
463  /* UpdateWindow(hApplicationPageListCtrl); */
465  }
466  }
467  /* It is not already in the list so add it */
468  else
469  {
471 
472  pAPLI->hWnd = hWnd;
473  pAPLI->hIcon = hIcon;
474  pAPLI->bHung = bHung;
475  wcscpy(pAPLI->szTitle, szTitle);
476 
477  /* Add the item to the list */
478  memset(&item, 0, sizeof(LV_ITEM));
479  item.mask = LVIF_TEXT|LVIF_IMAGE|LVIF_PARAM;
480  ImageList_AddIcon(hImageListLarge, hIcon);
481  item.iImage = ImageList_AddIcon(hImageListSmall, hIcon);
482  item.pszText = LPSTR_TEXTCALLBACK;
484  item.lParam = (LPARAM)pAPLI;
486  }
487 
488  /* Select first item if any */
491  {
494  }
495  /*
496  else
497  {
498  bApplicationPageSelectionMade = FALSE;
499  }
500  */
501 }
#define LV_ITEM
Definition: commctrl.h:2307
INT WINAPI ImageList_ReplaceIcon(HIMAGELIST himl, INT nIndex, HICON hIcon)
Definition: imagelist.c:2677
#define ListView_GetNextItem(hwnd, i, flags)
Definition: commctrl.h:2404
#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 LVSIL_SMALL
Definition: commctrl.h:2269
HWND hWnd
Definition: settings.c:17
#define LVNI_SELECTED
Definition: commctrl.h:2394
#define ListView_InsertItem(hwnd, pitem)
Definition: commctrl.h:2378
HWND hApplicationPageListCtrl
Definition: applpage.c:35
BOOL bApplicationPageSelectionMade
Definition: applpage.c:44
#define LVIF_TEXT
Definition: commctrl.h:2279
GLenum GLclampf GLint i
Definition: glfuncs.h:14
#define ListView_GetImageList(hwnd, iImageList)
Definition: commctrl.h:2266
#define ListView_SetItemState(hwndLV, i, data, mask)
Definition: commctrl.h:2643
smooth NULL
Definition: ftsmooth.c:416
#define LVIS_SELECTED
Definition: commctrl.h:2289
#define ListView_GetItemCount(hwnd)
Definition: commctrl.h:2277
#define LVNI_FOCUSED
Definition: commctrl.h:2393
#define ListView_RedrawItems(hwndLV, iFirst, iLast)
Definition: commctrl.h:2495
unsigned int BOOL
Definition: ntddk_ex.h:94
#define GetProcessHeap()
Definition: compat.h:395
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
if(!(yy_init))
Definition: macro.lex.yy.c:717
#define LVIF_IMAGE
Definition: commctrl.h:2280
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
INT WINAPI ImageList_AddIcon(HIMAGELIST himl, HICON hIcon)
Definition: imagelist.c:505
TCHAR szTitle[MAX_LOADSTRING]
Definition: magnifier.c:36
_CRTIMP wchar_t *__cdecl wcscpy(_Out_writes_z_(_String_length_(_Source)+1) wchar_t *_Dest, _In_z_ const wchar_t *_Source)
struct APPLICATION_PAGE_LIST_ITEM * LPAPPLICATION_PAGE_LIST_ITEM
#define LVSIL_NORMAL
Definition: commctrl.h:2268
static ATOM item
Definition: dde.c:856
HICON hIcon
Definition: msconfig.c:44
#define ListView_GetItem(hwnd, pitem)
Definition: commctrl.h:2364
#define LVIF_PARAM
Definition: commctrl.h:2281
#define LPSTR_TEXTCALLBACK
Definition: commctrl.h:2353
#define memset(x, y, z)
Definition: compat.h:39
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
#define LVIS_FOCUSED
Definition: commctrl.h:2288
#define LPARAM
Definition: msvc.h:38

◆ ApplicationPage_OnEndTask()

void ApplicationPage_OnEndTask ( void  )

Definition at line 905 of file applpage.c.

Referenced by ApplicationPageOnNotify(), ApplicationPageWndProc(), and TaskManagerWndProc().

906 {
908  LV_ITEM item;
909  int i;
910 
911  /* Trick: on Windows, pressing the CTRL key forces the task to be ended */
912  BOOL ForceEndTask = !!(GetKeyState(VK_CONTROL) & 0x8000);
913 
915  memset(&item, 0, sizeof(LV_ITEM));
916  item.mask = LVIF_STATE|LVIF_PARAM;
917  item.iItem = i;
918  item.stateMask = (UINT)-1;
920  if (item.state & LVIS_SELECTED) {
921  pAPLI = (LPAPPLICATION_PAGE_LIST_ITEM)item.lParam;
922  if (pAPLI) {
923  EndTask(pAPLI->hWnd, 0, ForceEndTask);
924  }
925  }
926  }
927 }
#define LV_ITEM
Definition: commctrl.h:2307
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:47
HWND hApplicationPageListCtrl
Definition: applpage.c:35
GLenum GLclampf GLint i
Definition: glfuncs.h:14
smooth NULL
Definition: ftsmooth.c:416
#define LVIS_SELECTED
Definition: commctrl.h:2289
#define ListView_GetItemCount(hwnd)
Definition: commctrl.h:2277
SHORT WINAPI GetKeyState(_In_ int)
unsigned int BOOL
Definition: ntddk_ex.h:94
if(!(yy_init))
Definition: macro.lex.yy.c:717
struct APPLICATION_PAGE_LIST_ITEM * LPAPPLICATION_PAGE_LIST_ITEM
static ATOM item
Definition: dde.c:856
BOOL WINAPI EndTask(HWND hWnd, BOOL fShutDown, BOOL fForce)
Definition: exit.c:207
#define VK_CONTROL
Definition: winuser.h:2157
#define ListView_GetItem(hwnd, pitem)
Definition: commctrl.h:2364
#define LVIF_PARAM
Definition: commctrl.h:2281
#define LVIF_STATE
Definition: commctrl.h:2282
#define UINT
Definition: msvc.h:27
#define memset(x, y, z)
Definition: compat.h:39

◆ ApplicationPage_OnGotoProcess()

void ApplicationPage_OnGotoProcess ( void  )

Definition at line 929 of file applpage.c.

Referenced by TaskManagerWndProc().

930 {
932  LV_ITEM item;
933  int i;
934 
936  memset(&item, 0, sizeof(LV_ITEM));
937  item.mask = LVIF_STATE|LVIF_PARAM;
938  item.iItem = i;
939  item.stateMask = (UINT)-1;
941  if (item.state & LVIS_SELECTED) {
942  pAPLI = (LPAPPLICATION_PAGE_LIST_ITEM)item.lParam;
943  break;
944  }
945  }
946  if (pAPLI) {
947  DWORD dwProcessId;
948 
949  GetWindowThreadProcessId(pAPLI->hWnd, &dwProcessId);
950  /*
951  * Switch to the process tab
952  */
954  /*
955  * Select the process item in the list
956  */
957  i = ProcGetIndexByProcessId(dwProcessId);
958  if (i != -1)
959  {
961  i,
965  i,
966  FALSE);
967  }
968  }
969 }
#define ListView_EnsureVisible(hwndLV, i, fPartialOK)
Definition: commctrl.h:2489
#define LV_ITEM
Definition: commctrl.h:2307
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:47
HWND hApplicationPageListCtrl
Definition: applpage.c:35
GLenum GLclampf GLint i
Definition: glfuncs.h:14
#define ListView_SetItemState(hwndLV, i, data, mask)
Definition: commctrl.h:2643
HWND hTabWnd
Definition: msconfig.c:22
DWORD WINAPI GetWindowThreadProcessId(HWND, PDWORD)
smooth NULL
Definition: ftsmooth.c:416
#define LVIS_SELECTED
Definition: commctrl.h:2289
#define ListView_GetItemCount(hwnd)
Definition: commctrl.h:2277
int ProcGetIndexByProcessId(DWORD dwProcessId)
Definition: procpage.c:78
unsigned long DWORD
Definition: ntddk_ex.h:95
struct APPLICATION_PAGE_LIST_ITEM * LPAPPLICATION_PAGE_LIST_ITEM
static ATOM item
Definition: dde.c:856
#define ListView_GetItem(hwnd, pitem)
Definition: commctrl.h:2364
#define LVIF_PARAM
Definition: commctrl.h:2281
#define LVIF_STATE
Definition: commctrl.h:2282
#define UINT
Definition: msvc.h:27
#define memset(x, y, z)
Definition: compat.h:39
HWND hProcessPageListCtrl
Definition: procpage.c:38
#define LVIS_FOCUSED
Definition: commctrl.h:2288
#define TabCtrl_SetCurFocus(hwnd, i)
Definition: commctrl.h:4069

◆ ApplicationPage_OnSwitchTo()

void ApplicationPage_OnSwitchTo ( void  )

Definition at line 868 of file applpage.c.

Referenced by ApplicationPageOnNotify(), ApplicationPageWndProc(), and TaskManagerWndProc().

869 {
871  LV_ITEM item;
872  int i;
873 
875  memset(&item, 0, sizeof(LV_ITEM));
876  item.mask = LVIF_STATE|LVIF_PARAM;
877  item.iItem = i;
878  item.stateMask = (UINT)-1;
880 
881  if (item.state & LVIS_SELECTED) {
882  pAPLI = (LPAPPLICATION_PAGE_LIST_ITEM)item.lParam;
883  break;
884  }
885  }
886  if (pAPLI) {
887  typedef void (WINAPI *PROCSWITCHTOTHISWINDOW) (HWND, BOOL);
888  PROCSWITCHTOTHISWINDOW SwitchToThisWindow;
889 
890  HMODULE hUser32 = GetModuleHandleW(L"USER32");
891  SwitchToThisWindow = (PROCSWITCHTOTHISWINDOW)GetProcAddress(hUser32, "SwitchToThisWindow");
892  if (SwitchToThisWindow) {
893  SwitchToThisWindow(pAPLI->hWnd, TRUE);
894  } else {
895  if (IsIconic(pAPLI->hWnd))
896  ShowWindow(pAPLI->hWnd, SW_RESTORE);
897  BringWindowToTop(pAPLI->hWnd);
898  SetForegroundWindow(pAPLI->hWnd);
899  }
902  }
903 }
#define LV_ITEM
Definition: commctrl.h:2307
#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
HANDLE HWND
Definition: compat.h:13
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
#define SW_RESTORE
Definition: winuser.h:773
HWND hApplicationPageListCtrl
Definition: applpage.c:35
BOOL WINAPI IsIconic(_In_ HWND)
GLenum GLclampf GLint i
Definition: glfuncs.h:14
BOOL WINAPI BringWindowToTop(_In_ HWND)
smooth NULL
Definition: ftsmooth.c:416
#define LVIS_SELECTED
Definition: commctrl.h:2289
#define ListView_GetItemCount(hwnd)
Definition: commctrl.h:2277
#define SW_MINIMIZE
Definition: winuser.h:770
HWND hMainWnd
Definition: magnifier.c:33
static const WCHAR L[]
Definition: oid.c:1087
struct APPLICATION_PAGE_LIST_ITEM * LPAPPLICATION_PAGE_LIST_ITEM
#define WINAPI
Definition: msvc.h:20
static ATOM item
Definition: dde.c:856
#define ListView_GetItem(hwnd, pitem)
Definition: commctrl.h:2364
#define LVIF_PARAM
Definition: commctrl.h:2281
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
Definition: loader.c:845
BOOL WINAPI SetForegroundWindow(_In_ HWND)
TASKMANAGER_SETTINGS TaskManagerSettings
Definition: taskmgr.c:52
#define GetProcAddress(x, y)
Definition: compat.h:410
#define LVIF_STATE
Definition: commctrl.h:2282
#define UINT
Definition: msvc.h:27
#define memset(x, y, z)
Definition: compat.h:39
#define BOOL
Definition: msvc.h:23
VOID WINAPI SwitchToThisWindow(HWND hwnd, BOOL fAltTab)
Definition: window.c:82

◆ ApplicationPage_OnView()

void ApplicationPage_OnView ( DWORD  dwMode)

Definition at line 728 of file applpage.c.

Referenced by TaskManagerWndProc().

729 {
730  HMENU hMenu;
731  HMENU hViewMenu;
732 
733  hMenu = GetMenu(hMainWnd);
734  hViewMenu = GetSubMenu(hMenu, 2);
735 
738 
740 }
#define ID_VIEW_DETAILS
Definition: resource.h:38
#define MF_BYCOMMAND
Definition: winuser.h:202
BOOL WINAPI CheckMenuRadioItem(_In_ HMENU, _In_ UINT, _In_ UINT, _In_ UINT, _In_ UINT)
void UpdateApplicationListControlViewSetting(void)
Definition: applpage.c:256
HWND hMainWnd
Definition: magnifier.c:33
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
TASKMANAGER_SETTINGS TaskManagerSettings
Definition: taskmgr.c:52
HMENU WINAPI GetMenu(_In_ HWND)
DWORD HDC HDC DVTARGETDEVICE DWORD dwMode
Definition: msvc.h:106
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
#define ID_VIEW_LARGE
Definition: resource.h:35

◆ ApplicationPage_OnWindowsBringToFront()

void ApplicationPage_OnWindowsBringToFront ( void  )

Definition at line 844 of file applpage.c.

Referenced by TaskManagerWndProc().

845 {
847  LV_ITEM item;
848  int i;
849 
851  memset(&item, 0, sizeof(LV_ITEM));
852  item.mask = LVIF_STATE|LVIF_PARAM;
853  item.iItem = i;
854  item.stateMask = (UINT)-1;
856  if (item.state & LVIS_SELECTED) {
857  pAPLI = (LPAPPLICATION_PAGE_LIST_ITEM)item.lParam;
858  break;
859  }
860  }
861  if (pAPLI) {
862  if (IsIconic(pAPLI->hWnd))
863  ShowWindow(pAPLI->hWnd, SW_RESTORE);
864  BringWindowToTop(pAPLI->hWnd);
865  }
866 }
#define LV_ITEM
Definition: commctrl.h:2307
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:47
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
#define SW_RESTORE
Definition: winuser.h:773
HWND hApplicationPageListCtrl
Definition: applpage.c:35
BOOL WINAPI IsIconic(_In_ HWND)
GLenum GLclampf GLint i
Definition: glfuncs.h:14
BOOL WINAPI BringWindowToTop(_In_ HWND)
smooth NULL
Definition: ftsmooth.c:416
#define LVIS_SELECTED
Definition: commctrl.h:2289
#define ListView_GetItemCount(hwnd)
Definition: commctrl.h:2277
struct APPLICATION_PAGE_LIST_ITEM * LPAPPLICATION_PAGE_LIST_ITEM
static ATOM item
Definition: dde.c:856
#define ListView_GetItem(hwnd, pitem)
Definition: commctrl.h:2364
#define LVIF_PARAM
Definition: commctrl.h:2281
#define LVIF_STATE
Definition: commctrl.h:2282
#define UINT
Definition: msvc.h:27
#define memset(x, y, z)
Definition: compat.h:39

◆ ApplicationPage_OnWindowsCascade()

void ApplicationPage_OnWindowsCascade ( void  )

Definition at line 815 of file applpage.c.

Referenced by TaskManagerWndProc().

816 {
818  LV_ITEM item;
819  int i;
820  HWND* hWndArray;
821  int nWndCount;
822 
824  nWndCount = 0;
825 
827  memset(&item, 0, sizeof(LV_ITEM));
828  item.mask = LVIF_STATE|LVIF_PARAM;
829  item.iItem = i;
830  item.stateMask = (UINT)-1;
832  if (item.state & LVIS_SELECTED) {
833  pAPLI = (LPAPPLICATION_PAGE_LIST_ITEM)item.lParam;
834  if (pAPLI) {
835  hWndArray[nWndCount] = pAPLI->hWnd;
836  nWndCount++;
837  }
838  }
839  }
840  CascadeWindows(NULL, 0, NULL, nWndCount, hWndArray);
841  HeapFree(GetProcessHeap(), 0, hWndArray);
842 }
#define LV_ITEM
Definition: commctrl.h:2307
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:47
HANDLE HWND
Definition: compat.h:13
HWND hApplicationPageListCtrl
Definition: applpage.c:35
GLenum GLclampf GLint i
Definition: glfuncs.h:14
smooth NULL
Definition: ftsmooth.c:416
#define LVIS_SELECTED
Definition: commctrl.h:2289
#define ListView_GetItemCount(hwnd)
Definition: commctrl.h:2277
#define GetProcessHeap()
Definition: compat.h:395
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
if(!(yy_init))
Definition: macro.lex.yy.c:717
struct APPLICATION_PAGE_LIST_ITEM * LPAPPLICATION_PAGE_LIST_ITEM
static ATOM item
Definition: dde.c:856
WORD WINAPI CascadeWindows(_In_opt_ HWND hwndParent, _In_ UINT wHow, _In_opt_ CONST RECT *lpRect, _In_ UINT cKids, _In_reads_opt_(cKids) const HWND FAR *lpKids)
#define ListView_GetItem(hwnd, pitem)
Definition: commctrl.h:2364
#define LVIF_PARAM
Definition: commctrl.h:2281
#define LVIF_STATE
Definition: commctrl.h:2282
#define UINT
Definition: msvc.h:27
#define memset(x, y, z)
Definition: compat.h:39
#define HeapFree(x, y, z)
Definition: compat.h:394

◆ ApplicationPage_OnWindowsMaximize()

void ApplicationPage_OnWindowsMaximize ( void  )

Definition at line 794 of file applpage.c.

Referenced by TaskManagerWndProc().

795 {
797  LV_ITEM item;
798  int i;
799 
801  memset(&item, 0, sizeof(LV_ITEM));
802  item.mask = LVIF_STATE|LVIF_PARAM;
803  item.iItem = i;
804  item.stateMask = (UINT)-1;
806  if (item.state & LVIS_SELECTED) {
807  pAPLI = (LPAPPLICATION_PAGE_LIST_ITEM)item.lParam;
808  if (pAPLI) {
809  ShowWindow(pAPLI->hWnd, SW_MAXIMIZE);
810  }
811  }
812  }
813 }
#define LV_ITEM
Definition: commctrl.h:2307
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:47
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
HWND hApplicationPageListCtrl
Definition: applpage.c:35
GLenum GLclampf GLint i
Definition: glfuncs.h:14
smooth NULL
Definition: ftsmooth.c:416
#define LVIS_SELECTED
Definition: commctrl.h:2289
#define ListView_GetItemCount(hwnd)
Definition: commctrl.h:2277
if(!(yy_init))
Definition: macro.lex.yy.c:717
struct APPLICATION_PAGE_LIST_ITEM * LPAPPLICATION_PAGE_LIST_ITEM
static ATOM item
Definition: dde.c:856
#define ListView_GetItem(hwnd, pitem)
Definition: commctrl.h:2364
#define LVIF_PARAM
Definition: commctrl.h:2281
#define LVIF_STATE
Definition: commctrl.h:2282
#define UINT
Definition: msvc.h:27
#define memset(x, y, z)
Definition: compat.h:39
#define SW_MAXIMIZE
Definition: winuser.h:766

◆ ApplicationPage_OnWindowsMinimize()

void ApplicationPage_OnWindowsMinimize ( void  )

Definition at line 773 of file applpage.c.

Referenced by TaskManagerWndProc().

774 {
776  LV_ITEM item;
777  int i;
778 
780  memset(&item, 0, sizeof(LV_ITEM));
781  item.mask = LVIF_STATE|LVIF_PARAM;
782  item.iItem = i;
783  item.stateMask = (UINT)-1;
785  if (item.state & LVIS_SELECTED) {
786  pAPLI = (LPAPPLICATION_PAGE_LIST_ITEM)item.lParam;
787  if (pAPLI) {
788  ShowWindow(pAPLI->hWnd, SW_MINIMIZE);
789  }
790  }
791  }
792 }
#define LV_ITEM
Definition: commctrl.h:2307
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:47
BOOL WINAPI ShowWindow(_In_ HWND, _In_ int)
HWND hApplicationPageListCtrl
Definition: applpage.c:35
GLenum GLclampf GLint i
Definition: glfuncs.h:14
smooth NULL
Definition: ftsmooth.c:416
#define LVIS_SELECTED
Definition: commctrl.h:2289
#define ListView_GetItemCount(hwnd)
Definition: commctrl.h:2277
if(!(yy_init))
Definition: macro.lex.yy.c:717
#define SW_MINIMIZE
Definition: winuser.h:770
struct APPLICATION_PAGE_LIST_ITEM * LPAPPLICATION_PAGE_LIST_ITEM
static ATOM item
Definition: dde.c:856
#define ListView_GetItem(hwnd, pitem)
Definition: commctrl.h:2364
#define LVIF_PARAM
Definition: commctrl.h:2281
#define LVIF_STATE
Definition: commctrl.h:2282
#define UINT
Definition: msvc.h:27
#define memset(x, y, z)
Definition: compat.h:39

◆ ApplicationPage_OnWindowsTile()

void ApplicationPage_OnWindowsTile ( DWORD  dwMode)

Definition at line 742 of file applpage.c.

Referenced by TaskManagerWndProc().

743 {
745  LV_ITEM item;
746  int i;
747  HWND* hWndArray;
748  int nWndCount;
749 
751  nWndCount = 0;
752 
754  memset(&item, 0, sizeof(LV_ITEM));
755  item.mask = LVIF_STATE|LVIF_PARAM;
756  item.iItem = i;
757  item.stateMask = (UINT)-1;
759 
760  if (item.state & LVIS_SELECTED) {
761  pAPLI = (LPAPPLICATION_PAGE_LIST_ITEM)item.lParam;
762  if (pAPLI) {
763  hWndArray[nWndCount] = pAPLI->hWnd;
764  nWndCount++;
765  }
766  }
767  }
768 
769  TileWindows(NULL, dwMode, NULL, nWndCount, hWndArray);
770  HeapFree(GetProcessHeap(), 0, hWndArray);
771 }
#define LV_ITEM
Definition: commctrl.h:2307
WORD WINAPI TileWindows(_In_opt_ HWND hwndParent, _In_ UINT wHow, _In_opt_ CONST RECT *lpRect, _In_ UINT cKids, _In_reads_opt_(cKids) const HWND FAR *lpKids)
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:47
HANDLE HWND
Definition: compat.h:13
HWND hApplicationPageListCtrl
Definition: applpage.c:35
GLenum GLclampf GLint i
Definition: glfuncs.h:14
smooth NULL
Definition: ftsmooth.c:416
#define LVIS_SELECTED
Definition: commctrl.h:2289
#define ListView_GetItemCount(hwnd)
Definition: commctrl.h:2277
#define GetProcessHeap()
Definition: compat.h:395
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
if(!(yy_init))
Definition: macro.lex.yy.c:717
struct APPLICATION_PAGE_LIST_ITEM * LPAPPLICATION_PAGE_LIST_ITEM
static ATOM item
Definition: dde.c:856
#define ListView_GetItem(hwnd, pitem)
Definition: commctrl.h:2364
#define LVIF_PARAM
Definition: commctrl.h:2281
#define LVIF_STATE
Definition: commctrl.h:2282
#define UINT
Definition: msvc.h:27
#define memset(x, y, z)
Definition: compat.h:39
DWORD HDC HDC DVTARGETDEVICE DWORD dwMode
Definition: msvc.h:106
#define HeapFree(x, y, z)
Definition: compat.h:394

◆ ApplicationPageCompareFunc()

int CALLBACK ApplicationPageCompareFunc ( LPARAM  lParam1,
LPARAM  lParam2,
LPARAM  lParamSort 
)

Definition at line 971 of file applpage.c.

Referenced by ApplicationPageOnNotify().

972 {
975 
976  if (bSortAscending) {
977  Param1 = (LPAPPLICATION_PAGE_LIST_ITEM)lParam1;
978  Param2 = (LPAPPLICATION_PAGE_LIST_ITEM)lParam2;
979  } else {
980  Param1 = (LPAPPLICATION_PAGE_LIST_ITEM)lParam2;
981  Param2 = (LPAPPLICATION_PAGE_LIST_ITEM)lParam1;
982  }
983  return wcscmp(Param1->szTitle, Param2->szTitle);
984 }
static BOOL bSortAscending
Definition: applpage.c:41
struct APPLICATION_PAGE_LIST_ITEM * LPAPPLICATION_PAGE_LIST_ITEM
_Check_return_ _CRTIMP int __cdecl wcscmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)

◆ ApplicationPageOnNotify()

void ApplicationPageOnNotify ( WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 567 of file applpage.c.

Referenced by ApplicationPageWndProc().

568 {
569  LPNMHDR pnmh;
570  LV_DISPINFO* pnmdi;
572  WCHAR szMsg[256];
573 
574  pnmh = (LPNMHDR) lParam;
575  pnmdi = (LV_DISPINFO*) lParam;
576 
577  if (pnmh->hwndFrom == hApplicationPageListCtrl) {
578  switch (pnmh->code) {
579  case LVN_ITEMCHANGED:
581  break;
582 
583  case LVN_GETDISPINFO:
584  pAPLI = (LPAPPLICATION_PAGE_LIST_ITEM)pnmdi->item.lParam;
585 
586  /* Update the item text */
587  if (pnmdi->item.iSubItem == 0)
588  {
589  wcsncpy(pnmdi->item.pszText, pAPLI->szTitle, pnmdi->item.cchTextMax);
590  }
591 
592  /* Update the item status */
593  else if (pnmdi->item.iSubItem == 1)
594  {
595  if (pAPLI->bHung)
596  {
597  LoadStringW( GetModuleHandleW(NULL), IDS_NOT_RESPONDING , szMsg, sizeof(szMsg) / sizeof(szMsg[0]));
598  }
599  else
600  {
601  LoadStringW( GetModuleHandleW(NULL), IDS_RUNNING, (LPWSTR) szMsg, sizeof(szMsg) / sizeof(szMsg[0]));
602  }
603  wcsncpy(pnmdi->item.pszText, szMsg, pnmdi->item.cchTextMax);
604  }
605 
606  break;
607 
608  case NM_RCLICK:
609 
611  {
613  }
614  else
615  {
617  }
618 
619  break;
620 
621  case NM_DBLCLK:
622 
624 
625  break;
626 
627  case LVN_KEYDOWN:
628 
629  if (((LPNMLVKEYDOWN)lParam)->wVKey == VK_DELETE)
631 
632  break;
633 
634  }
635  }
637  {
638  switch (pnmh->code)
639  {
640  case NM_RCLICK:
641 
643  {
645  }
646  else
647  {
649  }
650 
651  break;
652 
653  case HDN_ITEMCLICK:
654 
657 
658  break;
659  }
660  }
661 
662 }
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:47
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define ListView_GetHeader(hwnd)
Definition: commctrl.h:2621
#define LVN_ITEMCHANGED
Definition: commctrl.h:3101
int CALLBACK ApplicationPageCompareFunc(LPARAM lParam1, LPARAM lParam2, LPARAM lParamSort)
Definition: applpage.c:971
HWND hApplicationPageListCtrl
Definition: applpage.c:35
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
struct tagNMHDR * LPNMHDR
void ApplicationPageShowContextMenu1(void)
Definition: applpage.c:664
UINT code
Definition: winuser.h:3112
#define LVN_KEYDOWN
Definition: commctrl.h:3151
#define ListView_GetSelectedCount(hwndLV)
Definition: commctrl.h:2679
smooth NULL
Definition: ftsmooth.c:416
static BOOL bSortAscending
Definition: applpage.c:41
#define VK_DELETE
Definition: winuser.h:2187
if(!(yy_init))
Definition: macro.lex.yy.c:717
void ApplicationPage_OnEndTask(void)
Definition: applpage.c:905
#define IDS_RUNNING
Definition: resource.h:258
struct APPLICATION_PAGE_LIST_ITEM * LPAPPLICATION_PAGE_LIST_ITEM
#define IDS_NOT_RESPONDING
Definition: resource.h:257
#define LV_DISPINFO
Definition: commctrl.h:3137
HWND hwndFrom
Definition: winuser.h:3110
#define LVN_GETDISPINFO
Definition: commctrl.h:3130
#define HDN_ITEMCLICK
Definition: commctrl.h:851
_CRTIMP wchar_t *__cdecl wcsncpy(wchar_t *_Dest, const wchar_t *_Source, size_t _Count)
#define NM_DBLCLK
Definition: commctrl.h:131
#define NM_RCLICK
Definition: commctrl.h:133
#define ListView_SortItems(hwndLV, _pfnCompare, _lPrm)
Definition: commctrl.h:2673
void ApplicationPageShowContextMenu2(void)
Definition: applpage.c:682
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
Definition: loader.c:845
void ApplicationPageUpdate(void)
Definition: applpage.c:503
WCHAR * LPWSTR
Definition: xmlstorage.h:184
LPARAM lParam
Definition: combotst.c:139
void ApplicationPage_OnSwitchTo(void)
Definition: applpage.c:868

◆ ApplicationPageRefreshThread()

DWORD WINAPI ApplicationPageRefreshThread ( void lpParameter)

Definition at line 272 of file applpage.c.

Referenced by ApplicationPageWndProc().

273 {
274  MSG msg;
275  INT i;
276  BOOL bItemRemoved = FALSE;
277  LV_ITEM item;
279  HIMAGELIST hImageListLarge;
280  HIMAGELIST hImageListSmall;
281 
282  /* If we couldn't create the event then exit the thread */
283  while (1)
284  {
285  /* Wait for an the event or application close */
286  if (GetMessage(&msg, NULL, 0, 0) <= 0)
287  return 0;
288 
289  if (msg.message == WM_TIMER)
290  {
291  /*
292  * FIXME:
293  *
294  * Should this be EnumDesktopWindows() instead?
295  */
296  noApps = TRUE;
298  if (noApps)
299  {
302  }
303 
304  /* Get the image lists */
307 
308  /* Check to see if we need to remove any items from the list */
309  for (i=ListView_GetItemCount(hApplicationPageListCtrl)-1; i>=0; i--)
310  {
311  memset(&item, 0, sizeof(LV_ITEM));
312  item.mask = LVIF_IMAGE|LVIF_PARAM;
313  item.iItem = i;
315 
316  pAPLI = (LPAPPLICATION_PAGE_LIST_ITEM)item.lParam;
317  if (!IsWindow(pAPLI->hWnd)||
318  (wcslen(pAPLI->szTitle) <= 0) ||
319  !IsWindowVisible(pAPLI->hWnd) ||
320  (GetParent(pAPLI->hWnd) != NULL) ||
321  (GetWindow(pAPLI->hWnd, GW_OWNER) != NULL) ||
323  {
324  ImageList_Remove(hImageListLarge, item.iItem);
325  ImageList_Remove(hImageListSmall, item.iItem);
326 
328  HeapFree(GetProcessHeap(), 0, pAPLI);
329  bItemRemoved = TRUE;
330  }
331  }
332 
333  /*
334  * If an item was removed from the list then
335  * we need to resync all the items with the
336  * image list
337  */
338  if (bItemRemoved)
339  {
341  {
342  memset(&item, 0, sizeof(LV_ITEM));
343  item.mask = LVIF_IMAGE;
344  item.iItem = i;
345  item.iImage = i;
347  }
348  bItemRemoved = FALSE;
349  }
350 
352  }
353  }
354 }
#define LV_ITEM
Definition: commctrl.h:2307
#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 LVSIL_SMALL
Definition: commctrl.h:2269
#define ListView_SetItem(hwnd, pitem)
Definition: commctrl.h:2371
BOOL WINAPI IsWindow(_In_opt_ HWND)
TW_UINT32 TW_UINT16 TW_UINT16 MSG
Definition: twain.h:1827
#define GWL_EXSTYLE
Definition: winuser.h:845
HWND hApplicationPageListCtrl
Definition: applpage.c:35
#define WS_EX_TOOLWINDOW
Definition: winuser.h:404
int32_t INT
Definition: typedefs.h:56
BOOL bApplicationPageSelectionMade
Definition: applpage.c:44
GLenum GLclampf GLint i
Definition: glfuncs.h:14
#define ListView_GetImageList(hwnd, iImageList)
Definition: commctrl.h:2266
smooth NULL
Definition: ftsmooth.c:416
#define ListView_DeleteItem(hwnd, i)
Definition: commctrl.h:2381
#define ListView_GetItemCount(hwnd)
Definition: commctrl.h:2277
BOOL CALLBACK EnumWindowsProc(HWND hWnd, LPARAM lParam)
Definition: applpage.c:356
BOOL noApps
Definition: applpage.c:43
unsigned int BOOL
Definition: ntddk_ex.h:94
#define GetProcessHeap()
Definition: compat.h:395
if(!(yy_init))
Definition: macro.lex.yy.c:717
#define WM_TIMER
Definition: winuser.h:1718
#define LVIF_IMAGE
Definition: commctrl.h:2280
BOOL WINAPI EnumWindows(_In_ WNDENUMPROC, _In_ LPARAM)
BOOL WINAPI ImageList_Remove(HIMAGELIST himl, INT i)
Definition: imagelist.c:2466
HWND WINAPI GetWindow(_In_ HWND, _In_ UINT)
struct APPLICATION_PAGE_LIST_ITEM * LPAPPLICATION_PAGE_LIST_ITEM
#define LVSIL_NORMAL
Definition: commctrl.h:2268
HWND WINAPI GetParent(_In_ HWND)
static ATOM item
Definition: dde.c:856
#define GW_OWNER
Definition: winuser.h:761
#define GetMessage
Definition: winuser.h:5656
#define msg(x)
Definition: auth_time.c:54
#define ListView_GetItem(hwnd, pitem)
Definition: commctrl.h:2364
#define LVIF_PARAM
Definition: commctrl.h:2281
BOOL WINAPI IsWindowVisible(_In_ HWND)
void ApplicationPageUpdate(void)
Definition: applpage.c:503
#define GetWindowLongPtr
Definition: treelist.c:73
#define memset(x, y, z)
Definition: compat.h:39
size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define HeapFree(x, y, z)
Definition: compat.h:394
#define ListView_DeleteAllItems(hwnd)
Definition: commctrl.h:2384

◆ ApplicationPageShowContextMenu1()

void ApplicationPageShowContextMenu1 ( void  )

Definition at line 664 of file applpage.c.

Referenced by ApplicationPageOnNotify().

665 {
666  HMENU hMenu;
667  HMENU hSubMenu;
668  POINT pt;
669 
670  GetCursorPos(&pt);
671 
673  hSubMenu = GetSubMenu(hMenu, 0);
674 
676 
678 
679  DestroyMenu(hMenu);
680 }
#define ID_VIEW_DETAILS
Definition: resource.h:38
#define MF_BYCOMMAND
Definition: winuser.h:202
long y
Definition: polytest.cpp:48
long x
Definition: polytest.cpp:48
#define pt(x, y)
Definition: drawing.c:79
#define TPM_LEFTALIGN
Definition: winuser.h:2331
BOOL WINAPI CheckMenuRadioItem(_In_ HMENU, _In_ UINT, _In_ UINT, _In_ UINT, _In_ UINT)
BOOL WINAPI GetCursorPos(_Out_ LPPOINT)
Definition: cursoricon.c:2635
#define TPM_TOPALIGN
Definition: winuser.h:2337
smooth NULL
Definition: ftsmooth.c:416
HWND hMainWnd
Definition: magnifier.c:33
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
BOOL WINAPI DestroyMenu(_In_ HMENU)
HINSTANCE hInst
Definition: dxdiag.c:13
#define TPM_LEFTBUTTON
Definition: winuser.h:2333
HMENU WINAPI LoadMenuW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
TASKMANAGER_SETTINGS TaskManagerSettings
Definition: taskmgr.c:52
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60
BOOL WINAPI TrackPopupMenu(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _Reserved_ int, _In_ HWND, _Reserved_ LPCRECT)
#define ID_VIEW_LARGE
Definition: resource.h:35
#define IDR_APPLICATION_PAGE_CONTEXT1
Definition: resource.h:20

◆ ApplicationPageShowContextMenu2()

void ApplicationPageShowContextMenu2 ( void  )

Definition at line 682 of file applpage.c.

Referenced by ApplicationPageOnNotify().

683 {
684  HMENU hMenu;
685  HMENU hSubMenu;
686  POINT pt;
687 
688  GetCursorPos(&pt);
689 
691  hSubMenu = GetSubMenu(hMenu, 0);
692 
694  {
701  }
703  {
710  }
711  else
712  {
719  }
720 
722 
724 
725  DestroyMenu(hMenu);
726 }
#define MF_DISABLED
Definition: winuser.h:130
#define MF_BYCOMMAND
Definition: winuser.h:202
long y
Definition: polytest.cpp:48
long x
Definition: polytest.cpp:48
#define pt(x, y)
Definition: drawing.c:79
#define TPM_LEFTALIGN
Definition: winuser.h:2331
#define ID_WINDOWS_MAXIMIZE
Definition: resource.h:152
BOOL WINAPI GetCursorPos(_Out_ LPPOINT)
Definition: cursoricon.c:2635
HWND hApplicationPageListCtrl
Definition: applpage.c:35
#define ID_WINDOWS_TILEVERTICALLY
Definition: resource.h:150
BOOL WINAPI EnableMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
#define ListView_GetSelectedCount(hwndLV)
Definition: commctrl.h:2679
#define TPM_TOPALIGN
Definition: winuser.h:2337
smooth NULL
Definition: ftsmooth.c:416
#define MF_ENABLED
Definition: winuser.h:128
#define IDR_APPLICATION_PAGE_CONTEXT2
Definition: resource.h:21
HWND hMainWnd
Definition: magnifier.c:33
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
BOOL WINAPI DestroyMenu(_In_ HMENU)
#define ID_WINDOWS_CASCADE
Definition: resource.h:153
HINSTANCE hInst
Definition: dxdiag.c:13
#define ID_WINDOWS_MINIMIZE
Definition: resource.h:151
BOOL WINAPI SetMenuDefaultItem(_In_ HMENU, _In_ UINT, _In_ UINT)
#define TPM_LEFTBUTTON
Definition: winuser.h:2333
HMENU WINAPI LoadMenuW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
#define ID_WINDOWS_BRINGTOFRONT
Definition: resource.h:154
#define MF_GRAYED
Definition: winuser.h:129
#define ID_WINDOWS_TILEHORIZONTALLY
Definition: resource.h:149
#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
BOOL WINAPI TrackPopupMenu(_In_ HMENU, _In_ UINT, _In_ int, _In_ int, _Reserved_ int, _In_ HWND, _Reserved_ LPCRECT)

◆ ApplicationPageUpdate()

void ApplicationPageUpdate ( void  )

Definition at line 503 of file applpage.c.

Referenced by ApplicationPageOnNotify(), ApplicationPageRefreshThread(), and ApplicationPageWndProc().

504 {
505  /* Enable or disable the "End Task" & "Switch To" buttons */
507  {
509  }
510  else
511  {
513  }
514  /* Enable "Switch To" button only if one app is selected */
516  {
518  }
519  else
520  {
522  }
523 
524  /* If we are on the applications tab the windows menu will be */
525  /* present on the menu bar so enable & disable the menu items */
526  if (TabCtrl_GetCurSel(hTabWnd) == 0)
527  {
528  HMENU hMenu;
529  HMENU hWindowsMenu;
530 
531  hMenu = GetMenu(hMainWnd);
532  hWindowsMenu = GetSubMenu(hMenu, 3);
533 
534  /* Only one item selected */
536  {
543  }
544  /* More than one item selected */
546  {
553  }
554  /* No items selected */
555  else
556  {
563  }
564  }
565 }
#define MF_DISABLED
Definition: winuser.h:130
#define TRUE
Definition: types.h:120
#define MF_BYCOMMAND
Definition: winuser.h:202
#define ID_WINDOWS_MAXIMIZE
Definition: resource.h:152
#define TabCtrl_GetCurSel(hwnd)
Definition: commctrl.h:4030
HWND hApplicationPageListCtrl
Definition: applpage.c:35
#define ID_WINDOWS_TILEVERTICALLY
Definition: resource.h:150
BOOL WINAPI EnableMenuItem(_In_ HMENU, _In_ UINT, _In_ UINT)
#define ListView_GetSelectedCount(hwndLV)
Definition: commctrl.h:2679
HWND hTabWnd
Definition: msconfig.c:22
#define MF_ENABLED
Definition: winuser.h:128
HWND hMainWnd
Definition: magnifier.c:33
HWND hApplicationPageSwitchToButton
Definition: applpage.c:37
HMENU WINAPI GetSubMenu(_In_ HMENU, _In_ int)
#define ID_WINDOWS_CASCADE
Definition: resource.h:153
BOOL WINAPI EnableWindow(_In_ HWND, _In_ BOOL)
#define ID_WINDOWS_MINIMIZE
Definition: resource.h:151
HWND hApplicationPageEndTaskButton
Definition: applpage.c:36
#define ID_WINDOWS_BRINGTOFRONT
Definition: resource.h:154
#define MF_GRAYED
Definition: winuser.h:129
#define ID_WINDOWS_TILEHORIZONTALLY
Definition: resource.h:149
HMENU WINAPI GetMenu(_In_ HWND)
static const CLSID *static CLSID *static const GUID VARIANT VARIANT *static IServiceProvider DWORD *static HMENU
Definition: ordinal.c:60

◆ ApplicationPageWndProc()

INT_PTR CALLBACK ApplicationPageWndProc ( HWND  hDlg,
UINT  message,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 110 of file applpage.c.

Referenced by OnCreate().

111 {
112  RECT rc;
113  int nXDifference;
114  int nYDifference;
116  WCHAR szTemp[256];
117  int cx, cy;
118 
119  switch (message) {
120  case WM_INITDIALOG:
121 
122  /* Save the width and height */
123  GetClientRect(hDlg, &rc);
126 
127  /* Update window position */
129 
130  /* Get handles to the controls */
135 
137 
138  /* Initialize the application page's controls */
139  column.mask = LVCF_TEXT|LVCF_WIDTH;
140 
141  LoadStringW(hInst, IDS_TAB_TASK, szTemp, 256);
142  column.pszText = szTemp;
143  column.cx = 250;
144  (void)ListView_InsertColumn(hApplicationPageListCtrl, 0, &column); /* Add the "Task" column */
145  column.mask = LVCF_TEXT|LVCF_WIDTH;
146  LoadStringW(hInst, IDS_TAB_STATUS, szTemp, 256);
147  column.pszText = szTemp;
148  column.cx = 95;
149  (void)ListView_InsertColumn(hApplicationPageListCtrl, 1, &column); /* Add the "Status" column */
150 
153 
155 
156  /* Start our refresh thread */
157 #ifdef RUN_APPS_PAGE
159 #endif
160 
161  /* Refresh page */
163 
164  return TRUE;
165 
166  case WM_DESTROY:
167  /* Close refresh thread */
168 #ifdef RUN_APPS_PAGE
170 #endif
171  AppPageCleanup();
172  break;
173 
174  case WM_COMMAND:
175 
176  /* Handle the button clicks */
177  switch (LOWORD(wParam))
178  {
179  case IDC_ENDTASK:
181  break;
182  case IDC_SWITCHTO:
184  break;
185  case IDC_NEWTASK:
187  break;
188  }
189 
190  break;
191 
192  case WM_SIZE:
193  if (wParam == SIZE_MINIMIZED)
194  return 0;
195 
196  cx = LOWORD(lParam);
197  cy = HIWORD(lParam);
198  nXDifference = cx - nApplicationPageWidth;
199  nYDifference = cy - nApplicationPageHeight;
200  nApplicationPageWidth = cx;
201  nApplicationPageHeight = cy;
202 
203  /* Reposition the application page's controls */
205  cx = (rc.right - rc.left) + nXDifference;
206  cy = (rc.bottom - rc.top) + nYDifference;
209 
211  MapWindowPoints(hApplicationPageEndTaskButton, hDlg, (LPPOINT)(PRECT)(&rc), sizeof(RECT)/sizeof(POINT));
212  cx = rc.left + nXDifference;
213  cy = rc.top + nYDifference;
216 
218  MapWindowPoints(hApplicationPageSwitchToButton, hDlg, (LPPOINT)(PRECT)(&rc), sizeof(RECT)/sizeof(POINT));
219  cx = rc.left + nXDifference;
220  cy = rc.top + nYDifference;
223 
225  MapWindowPoints(hApplicationPageNewTaskButton, hDlg, (LPPOINT)(PRECT)(&rc), sizeof(RECT)/sizeof(POINT));
226  cx = rc.left + nXDifference;
227  cy = rc.top + nYDifference;
230 
231  break;
232 
233  case WM_NOTIFY:
235  break;
236 
237  case WM_KEYDOWN:
238  if (wParam == VK_DELETE)
240  break;
241 
242  }
243 
244  return 0;
245 }
Definition: tftpd.h:59
void AppPageCleanup(void)
Definition: applpage.c:92
#define TRUE
Definition: types.h:120
#define MAKEWPARAM(l, h)
Definition: winuser.h:3916
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:47
#define LVCF_WIDTH
Definition: commctrl.h:2557
#define LVSIL_SMALL
Definition: commctrl.h:2269
int WINAPI MapWindowPoints(_In_opt_ HWND hWndFrom, _In_opt_ HWND hWndTo, _Inout_updates_(cPoints) LPPOINT lpPoints, _In_ UINT cPoints)
#define LVCF_TEXT
Definition: commctrl.h:2558
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define LV_COLUMN
Definition: commctrl.h:2517
static INT GetSystemColorDepth(VOID)
Definition: applpage.c:68
static HANDLE hApplicationThread
Definition: applpage.c:56
LONG top
Definition: windef.h:297
#define IDC_APPLIST
Definition: resource.h:35
BOOL WINAPI SetWindowTextW(_In_ HWND, _In_opt_ LPCWSTR)
LONG left
Definition: windef.h:296
#define SWP_NOZORDER
Definition: winuser.h:1232
DWORD EndLocalThread(HANDLE *hThread, DWORD dwThread)
Definition: taskmgr.c:1178
LONG right
Definition: windef.h:298
HWND hApplicationPageListCtrl
Definition: applpage.c:35
#define IDC_SWITCHTO
Definition: resource.h:32
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
WPARAM wParam
Definition: combotst.c:138
HWND hApplicationPageNewTaskButton
Definition: applpage.c:38
static DWORD dwApplicationThread
Definition: applpage.c:57
#define ListView_InsertColumn(hwnd, iCol, pcol)
Definition: commctrl.h:2606
HIMAGELIST WINAPI ImageList_Create(INT cx, INT cy, UINT flags, INT cInitial, INT cGrow)
Definition: imagelist.c:769
#define IDC_NEWTASK
Definition: resource.h:33
_Out_opt_ int _Out_opt_ int * cy
Definition: commctrl.h:570
static int nApplicationPageHeight
Definition: applpage.c:40
HANDLE WINAPI DECLSPEC_HOTPATCH CreateThread(IN LPSECURITY_ATTRIBUTES lpThreadAttributes, IN DWORD dwStackSize, IN LPTHREAD_START_ROUTINE lpStartAddress, IN LPVOID lpParameter, IN DWORD dwCreationFlags, OUT LPDWORD lpThreadId)
Definition: thread.c:112
#define ListView_SetImageList(hwnd, himl, iImageList)
Definition: commctrl.h:2274
void ProcessPage_OnEndProcess(void)
Definition: endproc.c:30
smooth NULL
Definition: ftsmooth.c:416
#define WM_KEYDOWN
Definition: winuser.h:1691
#define VK_DELETE
Definition: winuser.h:2187
#define WM_DESTROY
Definition: winuser.h:1591
#define ID_FILE_NEW
Definition: resource.h:41
#define IDC_ENDTASK
Definition: resource.h:31
HWND WINAPI GetDlgItem(_In_opt_ HWND, _In_ int)
void ApplicationPage_OnEndTask(void)
Definition: applpage.c:905
#define WM_SIZE
Definition: winuser.h:1593
#define SWP_NOACTIVATE
Definition: winuser.h:1227
BOOL WINAPI InvalidateRect(_In_opt_ HWND, _In_opt_ LPCRECT, _In_ BOOL)
void UpdateApplicationListControlViewSetting(void)
Definition: applpage.c:256
#define SIZE_MINIMIZED
Definition: winuser.h:2460
static int nApplicationPageWidth
Definition: applpage.c:39
HWND hMainWnd
Definition: magnifier.c:33
static const WCHAR L[]
Definition: oid.c:1087
#define ILC_MASK
Definition: commctrl.h:336
HWND hApplicationPageSwitchToButton
Definition: applpage.c:37
#define LVSIL_NORMAL
Definition: commctrl.h:2268
#define WM_COMMAND
Definition: winuser.h:1716
#define SWP_NOSIZE
Definition: winuser.h:1230
BOOL WINAPI GetClientRect(_In_ HWND, _Out_ LPRECT)
HINSTANCE hInst
Definition: dxdiag.c:13
void ApplicationPageOnNotify(WPARAM wParam, LPARAM lParam)
Definition: applpage.c:567
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
_Out_opt_ int * cx
Definition: commctrl.h:570
HWND hApplicationPageEndTaskButton
Definition: applpage.c:36
#define HIWORD(l)
Definition: typedefs.h:246
LONG bottom
Definition: windef.h:299
DWORD WINAPI ApplicationPageRefreshThread(void *lpParameter)
Definition: applpage.c:272
#define SWP_NOMOVE
Definition: winuser.h:1229
BOOL WINAPI GetWindowRect(_In_ HWND, _Out_ LPRECT)
void ApplicationPageUpdate(void)
Definition: applpage.c:503
BOOL WINAPI SetWindowPos(_In_ HWND, _In_opt_ HWND, _In_ int, _In_ int, _In_ int, _In_ int, _In_ UINT)
#define IDS_TAB_STATUS
Definition: resource.h:200
GLenum GLenum GLvoid GLvoid * column
Definition: glext.h:5664
#define IDS_TAB_TASK
Definition: resource.h:199
#define WM_INITDIALOG
Definition: winuser.h:1715
LPARAM lParam
Definition: combotst.c:139
#define LOWORD(l)
Definition: pedump.c:82
#define WM_NOTIFY
Definition: richedit.h:61
#define SWP_NOOWNERZORDER
Definition: winuser.h:1234
void ApplicationPage_OnSwitchTo(void)
Definition: applpage.c:868

◆ AppPageCleanup()

void AppPageCleanup ( void  )

Definition at line 92 of file applpage.c.

Referenced by ApplicationPageWndProc().

93 {
94  int i;
95  LV_ITEM item;
97  for (i = 0; i < ListView_GetItemCount(hApplicationPageListCtrl); i++)
98  {
99  memset(&item, 0, sizeof(LV_ITEM));
100  item.mask = LVIF_PARAM;
101  item.iItem = i;
103  pData = (LPAPPLICATION_PAGE_LIST_ITEM)item.lParam;
105  }
106 }
#define LV_ITEM
Definition: commctrl.h:2307
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:47
HWND hApplicationPageListCtrl
Definition: applpage.c:35
GLenum GLclampf GLint i
Definition: glfuncs.h:14
#define ListView_GetItemCount(hwnd)
Definition: commctrl.h:2277
#define GetProcessHeap()
Definition: compat.h:395
struct APPLICATION_PAGE_LIST_ITEM * LPAPPLICATION_PAGE_LIST_ITEM
static ATOM item
Definition: dde.c:856
#define ListView_GetItem(hwnd, pitem)
Definition: commctrl.h:2364
#define LVIF_PARAM
Definition: commctrl.h:2281
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1827
#define memset(x, y, z)
Definition: compat.h:39
#define HeapFree(x, y, z)
Definition: compat.h:394

◆ EnumWindowsProc()

BOOL CALLBACK EnumWindowsProc ( HWND  hWnd,
LPARAM  lParam 
)

Definition at line 356 of file applpage.c.

Referenced by ApplicationPageRefreshThread().

357 {
358  HICON hIcon;
359  WCHAR szText[260];
360  BOOL bLargeIcon;
361  BOOL bHung = FALSE;
362 
363  typedef int (FAR __stdcall *IsHungAppWindowProc)(HWND);
364  IsHungAppWindowProc IsHungAppWindow;
365 
366  /* Skip our window */
367  if (hWnd == hMainWnd)
368  return TRUE;
369 
370  bLargeIcon = (TaskManagerSettings.ViewMode == ID_VIEW_LARGE);
371 
372  GetWindowTextW(hWnd, szText, 260); /* Get the window text */
373 
374  /* Check and see if this is a top-level app window */
375  if ((wcslen(szText) <= 0) ||
376  !IsWindowVisible(hWnd) ||
377  (GetParent(hWnd) != NULL) ||
378  (GetWindow(hWnd, GW_OWNER) != NULL) ||
380  {
381  return TRUE; /* Skip this window */
382  }
383 
384  noApps = FALSE;
385 
386  /* Get the icon for this window */
387  hIcon = NULL;
388  SendMessageTimeoutW(hWnd, WM_GETICON, bLargeIcon ? ICON_BIG : ICON_SMALL, 0, 0, 1000, (PDWORD_PTR)&hIcon);
389  if (!hIcon)
390  {
391  /* We failed, try to retrieve other icons... */
392  hIcon = (HICON)(LONG_PTR)GetClassLongPtrW(hWnd, bLargeIcon ? GCL_HICON : GCL_HICONSM);
393  if (!hIcon) hIcon = (HICON)(LONG_PTR)GetClassLongPtrW(hWnd, bLargeIcon ? GCL_HICONSM : GCL_HICON);
394  if (!hIcon) SendMessageTimeoutW(hWnd, WM_QUERYDRAGICON, 0, 0, 0, 1000, (PDWORD_PTR)&hIcon);
395  if (!hIcon) SendMessageTimeoutW(hWnd, WM_GETICON, bLargeIcon ? ICON_SMALL : ICON_BIG, 0, 0, 1000, (PDWORD_PTR)&hIcon);
396 
397  /* If we still do not have any icon, load the default one */
398  if (!hIcon) hIcon = LoadIconW(hInst, bLargeIcon ? MAKEINTRESOURCEW(IDI_WINDOW) : MAKEINTRESOURCEW(IDI_WINDOWSM));
399  }
400 
401  bHung = FALSE;
402 
403  IsHungAppWindow = (IsHungAppWindowProc)(FARPROC)GetProcAddress(GetModuleHandleW(L"USER32.DLL"), "IsHungAppWindow");
404 
405  if (IsHungAppWindow)
406  bHung = IsHungAppWindow(hWnd);
407 
408  AddOrUpdateHwnd(hWnd, szText, hIcon, bHung);
409 
410  return TRUE;
411 }
static HICON
Definition: imagelist.c:84
#define TRUE
Definition: types.h:120
#define GCL_HICONSM
Definition: winuser.h:662
__wchar_t WCHAR
Definition: xmlstorage.h:180
HANDLE HWND
Definition: compat.h:13
#define GWL_EXSTYLE
Definition: winuser.h:845
#define IDI_WINDOWSM
Definition: resource.h:19
#define GetWindowLongPtrW
Definition: winuser.h:4698
#define WS_EX_TOOLWINDOW
Definition: winuser.h:404
#define ICON_SMALL
Definition: tnclass.cpp:48
#define WM_QUERYDRAGICON
Definition: winuser.h:1636
static const WCHAR szText[]
Definition: dialog.c:139
#define FAR
Definition: guiddef.h:36
BOOL WINAPI IsHungAppWindow(HWND hwnd)
Definition: window.c:1842
smooth NULL
Definition: ftsmooth.c:416
BOOL noApps
Definition: applpage.c:43
unsigned int BOOL
Definition: ntddk_ex.h:94
ULONG_PTR * PDWORD_PTR
Definition: basetsd.h:184
#define __stdcall
Definition: typedefs.h:25
HWND hMainWnd
Definition: magnifier.c:33
HWND WINAPI GetWindow(_In_ HWND, _In_ UINT)
static const WCHAR L[]
Definition: oid.c:1087
#define IDI_WINDOW
Definition: resource.h:18
HWND WINAPI GetParent(_In_ HWND)
#define GCL_HICON
Definition: winuser.h:661
HINSTANCE hInst
Definition: dxdiag.c:13
int WINAPI GetWindowTextW(HWND hWnd, LPWSTR lpString, int nMaxCount)
Definition: window.c:1378
HICON hIcon
Definition: msconfig.c:44
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
#define GW_OWNER
Definition: winuser.h:761
LRESULT WINAPI SendMessageTimeoutW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM, _In_ UINT, _In_ UINT, _Out_opt_ PDWORD_PTR)
BOOL WINAPI IsWindowVisible(_In_ HWND)
HMODULE WINAPI GetModuleHandleW(LPCWSTR lpModuleName)
Definition: loader.c:845
HICON WINAPI LoadIconW(_In_opt_ HINSTANCE, _In_ LPCWSTR)
Definition: cursoricon.c:2044
TASKMANAGER_SETTINGS TaskManagerSettings
Definition: taskmgr.c:52
#define GetProcAddress(x, y)
Definition: compat.h:410
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582
void AddOrUpdateHwnd(HWND hWnd, WCHAR *szTitle, HICON hIcon, BOOL bHung)
Definition: applpage.c:413
size_t __cdecl wcslen(_In_z_ const wchar_t *_Str)
#define GetClassLongPtrW
Definition: winuser.h:4433
int(* FARPROC)()
Definition: compat.h:28
#define ICON_BIG
Definition: tnclass.cpp:51
#define ID_VIEW_LARGE
Definition: resource.h:35
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:29

◆ GetSystemColorDepth()

static INT GetSystemColorDepth ( VOID  )
static

Definition at line 68 of file applpage.c.

Referenced by ApplicationPageWndProc().

69 {
70  DEVMODE pDevMode;
71  INT ColorDepth;
72 
73  pDevMode.dmSize = sizeof(DEVMODE);
74  pDevMode.dmDriverExtra = 0;
75 
76  if (!EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &pDevMode))
77  return ILC_COLOR;
78 
79  switch (pDevMode.dmBitsPerPel)
80  {
81  case 32: ColorDepth = ILC_COLOR32; break;
82  case 24: ColorDepth = ILC_COLOR24; break;
83  case 16: ColorDepth = ILC_COLOR16; break;
84  case 8: ColorDepth = ILC_COLOR8; break;
85  case 4: ColorDepth = ILC_COLOR4; break;
86  default: ColorDepth = ILC_COLOR; break;
87  }
88 
89  return ColorDepth;
90 }
#define ILC_COLOR16
Definition: commctrl.h:341
WORD dmSize
Definition: wingdi.h:1545
WORD dmDriverExtra
Definition: wingdi.h:1546
DEVMODEA DEVMODE
Definition: wingdi.h:4395
int32_t INT
Definition: typedefs.h:56
#define ENUM_CURRENT_SETTINGS
Definition: winuser.h:179
#define ILC_COLOR4
Definition: commctrl.h:339
#define ILC_COLOR32
Definition: commctrl.h:343
#define ILC_COLOR
Definition: commctrl.h:337
smooth NULL
Definition: ftsmooth.c:416
#define ILC_COLOR24
Definition: commctrl.h:342
DWORD dmBitsPerPel
Definition: wingdi.h:1572
#define ILC_COLOR8
Definition: commctrl.h:340

◆ ProcGetIndexByProcessId()

int ProcGetIndexByProcessId ( DWORD  dwProcessId)

Definition at line 78 of file procpage.c.

Referenced by ApplicationPage_OnGotoProcess().

79 {
80  int i;
81  LVITEM item;
83 
85  {
86  memset(&item, 0, sizeof(LV_ITEM));
87  item.mask = LVIF_PARAM;
88  item.iItem = i;
90  pData = (LPPROCESS_PAGE_LIST_ITEM)item.lParam;
91  if (pData->ProcessId == dwProcessId)
92  {
93  return i;
94  }
95  }
96  return 0;
97 }
#define LV_ITEM
Definition: commctrl.h:2307
struct png_info_def **typedef void(__cdecl typeof(png_destroy_read_struct))(struct png_struct_def **
Definition: typeof.h:47
struct PROCESS_PAGE_LIST_ITEM * LPPROCESS_PAGE_LIST_ITEM
GLenum GLclampf GLint i
Definition: glfuncs.h:14
#define ListView_GetItemCount(hwnd)
Definition: commctrl.h:2277
if(!(yy_init))
Definition: macro.lex.yy.c:717
static ATOM item
Definition: dde.c:856
#define ListView_GetItem(hwnd, pitem)
Definition: commctrl.h:2364
#define LVIF_PARAM
Definition: commctrl.h:2281
#define LVITEM
Definition: commctrl.h:2345
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1827
#define memset(x, y, z)
Definition: compat.h:39
HWND hProcessPageListCtrl
Definition: procpage.c:38

◆ RefreshApplicationPage()

void RefreshApplicationPage ( void  )

Definition at line 247 of file applpage.c.

Referenced by OnCreate(), TaskManagerWndProc(), and UpdateApplicationListControlViewSetting().

248 {
249 #ifdef RUN_APPS_PAGE
250  /* Signal the event so that our refresh thread */
251  /* will wake up and refresh the application page */
253 #endif
254 }
static DWORD dwApplicationThread
Definition: applpage.c:57
#define WM_TIMER
Definition: winuser.h:1718
#define PostThreadMessage
Definition: winuser.h:5699

◆ UpdateApplicationListControlViewSetting()

void UpdateApplicationListControlViewSetting ( void  )

Definition at line 256 of file applpage.c.

Referenced by ApplicationPage_OnView(), and ApplicationPageWndProc().

257 {
259 
260  dwStyle &= ~(LVS_REPORT | LVS_ICON | LVS_LIST | LVS_SMALLICON);
261 
262  switch (TaskManagerSettings.ViewMode) {
263  case ID_VIEW_LARGE: dwStyle |= LVS_ICON; break;
264  case ID_VIEW_SMALL: dwStyle |= LVS_SMALLICON; break;
265  case ID_VIEW_DETAILS: dwStyle |= LVS_REPORT; break;
266  }
268 
270 }
#define ID_VIEW_DETAILS
Definition: resource.h:38
#define LVS_REPORT
Definition: commctrl.h:2232
#define GetWindowLongPtrW
Definition: winuser.h:4698
HWND hApplicationPageListCtrl
Definition: applpage.c:35
#define LVS_LIST
Definition: commctrl.h:2234
void RefreshApplicationPage(void)
Definition: applpage.c:247
unsigned long DWORD
Definition: ntddk_ex.h:95
#define LVS_ICON
Definition: commctrl.h:2231
#define ID_VIEW_SMALL
Definition: resource.h:36
#define GWL_STYLE
Definition: winuser.h:846
TASKMANAGER_SETTINGS TaskManagerSettings
Definition: taskmgr.c:52
#define SetWindowLongPtrW
Definition: winuser.h:5215
#define LVS_SMALLICON
Definition: commctrl.h:2233
#define ID_VIEW_LARGE
Definition: resource.h:35

Variable Documentation

◆ bApplicationPageSelectionMade

BOOL bApplicationPageSelectionMade = FALSE

Definition at line 44 of file applpage.c.

Referenced by AddOrUpdateHwnd(), and ApplicationPageRefreshThread().

◆ bSortAscending

BOOL bSortAscending = TRUE
static

Definition at line 41 of file applpage.c.

Referenced by ApplicationPageCompareFunc(), ApplicationPageOnNotify(), and ListView_Sort().

◆ dwApplicationThread

DWORD dwApplicationThread
static

Definition at line 57 of file applpage.c.

Referenced by ApplicationPageWndProc(), and RefreshApplicationPage().

◆ hApplicationPage

HWND hApplicationPage

Definition at line 34 of file applpage.c.

Referenced by OnCreate(), OnMove(), OnSize(), and TaskManager_OnTabWndSelChange().

◆ hApplicationPageEndTaskButton

HWND hApplicationPageEndTaskButton

Definition at line 36 of file applpage.c.

◆ hApplicationPageListCtrl

HWND hApplicationPageListCtrl

Definition at line 35 of file applpage.c.

Referenced by TaskManager_OnTabWndSelChange(), and TaskManagerWndProc().

◆ hApplicationPageNewTaskButton

HWND hApplicationPageNewTaskButton

Definition at line 38 of file applpage.c.

◆ hApplicationPageSwitchToButton

HWND hApplicationPageSwitchToButton

Definition at line 37 of file applpage.c.

◆ hApplicationThread

HANDLE hApplicationThread = NULL
static

Definition at line 56 of file applpage.c.

◆ nApplicationPageHeight

int nApplicationPageHeight
static

Definition at line 40 of file applpage.c.

Referenced by ApplicationPageWndProc().

◆ nApplicationPageWidth

int nApplicationPageWidth
static

Definition at line 39 of file applpage.c.

Referenced by ApplicationPageWndProc().

◆ noApps

BOOL noApps

Definition at line 43 of file applpage.c.

Referenced by ApplicationPageRefreshThread(), and EnumWindowsProc().