ReactOS  0.4.14-dev-838-g99f979d
precomp.h File Reference
#include <stdlib.h>
#include <windows.h>
#include <commctrl.h>
#include <tlhelp32.h>
#include <windowsx.h>
#include <debug.h>
#include <wchar.h>
#include <strsafe.h>
#include "resource.h"
Include dependency graph for precomp.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  UTILMAN_GLOBALS
 
struct  _UTILMAN_STATE
 

Macros

#define MAX_BUFFER   256
 

Typedefs

typedef struct _UTILMAN_STATE UTILMAN_STATE
 
typedef struct _UTILMAN_STATEPUTILMAN_STATE
 

Functions

BOOL DlgInitHandler (HWND hDlg)
 
INT_PTR APIENTRY DlgProc (HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
 
INT ListBoxRefreshContents (VOID)
 
VOID CheckUtilityState (BOOL bUtilState)
 
BOOL IsProcessRunning (IN LPCWSTR lpProcessName)
 
BOOL LaunchProcess (LPCWSTR lpProcessName)
 
BOOL CloseProcess (IN LPCWSTR lpProcessName)
 
VOID ShowAboutDlg (HWND hDlgParent)
 
INT_PTR CALLBACK AboutDlgProc (HWND hDlg, UINT Msg, WPARAM wParam, LPARAM lParam)
 

Variables

UTILMAN_GLOBALS Globals
 

Macro Definition Documentation

◆ MAX_BUFFER

#define MAX_BUFFER   256

Definition at line 26 of file precomp.h.

Typedef Documentation

◆ PUTILMAN_STATE

◆ UTILMAN_STATE

Function Documentation

◆ AboutDlgProc()

INT_PTR CALLBACK AboutDlgProc ( HWND  hwnd,
UINT  uMsg,
WPARAM  wParam,
LPARAM  lParam 
)

@AboutDlgProc

"About" dialog procedure.

Parameters
hDlgThe handle object of the dialog.
MsgMessage events (in unsigned int).
wParamMessage parameter (in UINT_PTR).
lParamMessage paramater (in LONG_PTR).
Returns
Return TRUE if the dialog processed messages, FALSE otherwise.

Definition at line 83 of file sndrec32.cpp.

87 {
88  switch (msg)
89  {
90  case WM_COMMAND:
91  switch (LOWORD(wp))
92  {
93  case IDOK:
94  EndDialog(hWnd, 0);
95  return TRUE;
96  }
97  break;
98  case WM_CLOSE:
99  EndDialog(hWnd, 0);
100  return TRUE;
101  }
102  return FALSE;
103 }
#define TRUE
Definition: types.h:120
#define IDOK
Definition: winuser.h:824
HWND hWnd
Definition: settings.c:17
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
#define WM_CLOSE
Definition: winuser.h:1603
#define WM_COMMAND
Definition: winuser.h:1722
#define msg(x)
Definition: auth_time.c:54
#define LOWORD(l)
Definition: pedump.c:82

◆ CheckUtilityState()

VOID CheckUtilityState ( BOOL  bUtilState)

◆ CloseProcess()

BOOL CloseProcess ( IN LPCWSTR  lpProcessName)

@CloseProcess

Closes a process.

Parameters
[in]lpProcessNameThe name of the executable process.
Returns
Returns TRUE if the process has been terminated successfully, FALSE otherwise.

Definition at line 148 of file process.c.

149 {
150  BOOL bSuccess = FALSE;
151  PROCESSENTRY32W Process = {0};
152 
153  /* Create a snapshot and check if the given process' executable name is running */
155 
156  if (hSnapshot == INVALID_HANDLE_VALUE)
157  return FALSE;
158 
159  Process.dwSize = sizeof(Process);
160 
161  /* Enumerate the processes */
162  if (Process32FirstW(hSnapshot, &Process))
163  {
164  do
165  {
166  if (_wcsicmp(Process.szExeFile, lpProcessName) == 0)
167  {
168  /*
169  * We have found the process. However we must make
170  * sure that we DO NOT kill ourselves (the process ID
171  * matching with the current parent process ID).
172  */
173  HANDLE hProcess = OpenProcess(PROCESS_TERMINATE, 0, Process.th32ProcessID);
174  if ((hProcess != NULL) && (Process.th32ProcessID != GetCurrentProcessId()))
175  {
178  }
179  bSuccess = TRUE;
180  break;
181  }
182  }
183  while (Process32NextW(hSnapshot, &Process));
184  }
185 
186  /* Free the handle and return */
187  CloseHandle(hSnapshot);
188  return bSuccess;
189 }
#define TRUE
Definition: types.h:120
#define CloseHandle
Definition: compat.h:406
#define INVALID_HANDLE_VALUE
Definition: compat.h:399
_In_ BOOL _In_ HANDLE hProcess
Definition: mapping.h:70
static BOOLEAN bSuccess
Definition: drive.cpp:419
unsigned int BOOL
Definition: ntddk_ex.h:94
smooth NULL
Definition: ftsmooth.c:416
BOOL WINAPI Process32FirstW(HANDLE hSnapshot, LPPROCESSENTRY32W lppe)
Definition: toolhelp.c:984
BOOL WINAPI Process32NextW(HANDLE hSnapshot, LPPROCESSENTRY32W lppe)
Definition: toolhelp.c:1073
HANDLE WINAPI OpenProcess(IN DWORD dwDesiredAccess, IN BOOL bInheritHandle, IN DWORD dwProcessId)
Definition: proc.c:1227
#define PROCESS_TERMINATE
Definition: pstypes.h:149
BOOL WINAPI TerminateProcess(IN HANDLE hProcess, IN UINT uExitCode)
Definition: proc.c:1532
#define TH32CS_SNAPPROCESS
Definition: tlhelp32.h:26
HANDLE WINAPI CreateToolhelp32Snapshot(DWORD dwFlags, DWORD th32ProcessID)
Definition: toolhelp.c:1255
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:219
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)
DWORD WINAPI GetCurrentProcessId(VOID)
Definition: proc.c:1158

Referenced by DlgProc().

◆ DlgInitHandler()

BOOL DlgInitHandler ( HWND  hDlg)

◆ DlgProc()

INT_PTR APIENTRY DlgProc ( HWND  hDlg,
UINT  Msg,
WPARAM  wParam,
LPARAM  lParam 
)

Definition at line 120 of file dialog.c.

121 {
122  int idctrl;
123  LPNMHDR pnmh;
124  LPCREATESTRUCT lpCS;
125  LONG nThisApp = 0;
127  if (pData) nThisApp = pData->lData;
128 
129  switch (message) {
130 
131  case WM_CREATE:
132  lpCS = (LPCREATESTRUCT)lParam;
133  assert(lpCS);
134  lpCS->style &= ~WS_POPUP;
135  break;
136 
137  case WM_INITDIALOG:
138  pData = (DialogData*)lParam;
140  if (pData) nThisApp = pData->lData;
141  return OnCreate(hDlg, nThisApp);
142 
143 #ifdef _USE_MSG_PUMP_
144  case WM_DESTROY:
145  if (pData && (pData->hWnd == hDlg)) {
146  pData->hWnd = 0;
147  PostQuitMessage(0);
148  }
149  break;
150  case WM_COMMAND:
151  switch (LOWORD(wParam)) {
152  case IDOK:
153  //MessageBox(NULL, _T("Good-bye"), _T("dialog"), MB_ICONEXCLAMATION);
154  CreateMemoryDialog(hInst, GetDesktopWindow(), "DisplayMyMessage");
155  case IDCANCEL:
156  if (pData && (pData->hWnd == hDlg)) {
157  DestroyWindow(pData->hWnd);
158  }
159  break;
160  }
161  break;
162 #else
163  case WM_COMMAND:
164  if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) {
165  EndDialog(hDlg, LOWORD(wParam));
166  return TRUE;
167  }
168 #endif
169 
170  case WM_NOTIFY:
171  idctrl = (int)wParam;
172  pnmh = (LPNMHDR)lParam;
173  if ((pnmh->hwndFrom == hTabWnd) &&
174  (pnmh->idFrom == IDC_TAB) &&
175  (pnmh->code == TCN_SELCHANGE))
176  {
178  }
179  break;
180  }
181  return 0;
182 }
Definition: tftpd.h:59
LRESULT CreateMemoryDialog(HINSTANCE, HWND hwndOwner, LPSTR lpszMessage)
Definition: memdlg.c:56
#define TRUE
Definition: types.h:120
#define IDOK
Definition: winuser.h:824
#define IDC_TAB
Definition: resource.h:12
#define assert(x)
Definition: debug.h:53
CREATESTRUCTA * LPCREATESTRUCT
Definition: winuser.h:5701
BOOL WINAPI DestroyWindow(_In_ HWND)
#define SetWindowLongPtr
Definition: treelist.c:70
WPARAM wParam
Definition: combotst.c:138
struct tagNMHDR * LPNMHDR
void OnTabWndSelChange(void)
Definition: dialog.c:93
UINT code
Definition: winuser.h:3134
long LONG
Definition: pedump.c:60
static BOOL OnCreate(HWND hWnd, LONG lData)
Definition: dialog.c:52
UINT_PTR idFrom
Definition: winuser.h:3133
HWND WINAPI GetDesktopWindow(void)
Definition: window.c:652
#define WM_DESTROY
Definition: winuser.h:1591
#define TCN_SELCHANGE
Definition: commctrl.h:4128
#define DWLP_USER
Definition: winuser.h:866
#define WM_COMMAND
Definition: winuser.h:1722
HWND hwndFrom
Definition: winuser.h:3132
HWND hTabWnd
Definition: dialog.c:40
BOOL WINAPI EndDialog(HWND hwnd, INT_PTR retval)
Definition: dialog.c:2085
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
#define WS_POPUP
Definition: pedump.c:616
#define WM_CREATE
Definition: winuser.h:1590
#define GetWindowLongPtr
Definition: treelist.c:73
#define IDCANCEL
Definition: winuser.h:825
TW_UINT32 TW_UINT16 TW_UINT16 TW_MEMREF pData
Definition: twain.h:1827
#define WM_INITDIALOG
Definition: winuser.h:1721
LPARAM lParam
Definition: combotst.c:139
#define LOWORD(l)
Definition: pedump.c:82
__analysis_noreturn void WINAPI PostQuitMessage(_In_ int)
#define WM_NOTIFY
Definition: richedit.h:61
HINSTANCE hInst
Definition: dialog.c:39
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
Definition: typeof.h:31

Referenced by InitPropSheetPage(), and WinMain().

◆ IsProcessRunning()

BOOL IsProcessRunning ( IN LPCWSTR  lpProcessName)

@IsProcessRunning

Checks if a process is running.

Parameters
[in]ProcNameThe name of the executable process.
Returns
Returns TRUE if the given process' name is running, FALSE otherwise.

Definition at line 27 of file process.c.

28 {
29  BOOL bIsRunning = FALSE;
31 
32  /* Create a snapshot and check whether the given process' executable name is running */
34 
35  if (hSnapshot == INVALID_HANDLE_VALUE)
36  return FALSE;
37 
38  Process.dwSize = sizeof(Process);
39 
40  /* Enumerate the processes */
41  if (Process32FirstW(hSnapshot, &Process))
42  {
43  do
44  {
45  if (_wcsicmp(Process.szExeFile, lpProcessName) == 0)
46  {
47  /* The process we are searching for is running */
48  bIsRunning = TRUE;
49  break;
50  }
51  }
52  while (Process32NextW(hSnapshot, &Process));
53  }
54 
55  /* Free the handle and return */
56  CloseHandle(hSnapshot);
57  return bIsRunning;
58 }
#define TRUE
Definition: types.h:120
#define CloseHandle
Definition: compat.h:406
#define INVALID_HANDLE_VALUE
Definition: compat.h:399
unsigned int BOOL
Definition: ntddk_ex.h:94
BOOL WINAPI Process32FirstW(HANDLE hSnapshot, LPPROCESSENTRY32W lppe)
Definition: toolhelp.c:984
BOOL WINAPI Process32NextW(HANDLE hSnapshot, LPPROCESSENTRY32W lppe)
Definition: toolhelp.c:1073
#define TH32CS_SNAPPROCESS
Definition: tlhelp32.h:26
HANDLE WINAPI CreateToolhelp32Snapshot(DWORD dwFlags, DWORD th32ProcessID)
Definition: toolhelp.c:1255
_Must_inspect_result_ _In_ PLARGE_INTEGER _In_ PLARGE_INTEGER _In_ ULONG _In_ PFILE_OBJECT _In_ PVOID Process
Definition: fsrtlfuncs.h:219
_Check_return_ _CRTIMP int __cdecl _wcsicmp(_In_z_ const wchar_t *_Str1, _In_z_ const wchar_t *_Str2)

Referenced by InitUtilsList(), and ListBoxRefreshContents().

◆ LaunchProcess()

BOOL LaunchProcess ( LPCWSTR  lpProcessName)

@LaunchProcess

Executes a process.

Parameters
[in]lpProcessNameThe name of the executable process.
Returns
Returns TRUE if the process has been launched successfully, FALSE otherwise.

Definition at line 73 of file process.c.

74 {
75  STARTUPINFOW si;
77  HANDLE hUserToken, hProcessToken;
78  BOOL bSuccess;
79  WCHAR ExpandedCmdLine[MAX_PATH];
80 
81  /* Expand the process path string */
82  ExpandEnvironmentStringsW(lpProcessName, ExpandedCmdLine, ARRAYSIZE(ExpandedCmdLine));
83 
84  ZeroMemory(&pi, sizeof(pi));
85  ZeroMemory(&si, sizeof(si));
86  si.cb = sizeof(si);
89 
90  /* Get the token of the parent (current) process of the application */
92  if (!bSuccess)
93  {
94  DPRINT("OpenProcessToken() failed with error -> %lu\n", GetLastError());
95  return FALSE;
96  }
97 
98  /* Duplicate a new token so that we can use it to create our process */
100  if (!bSuccess)
101  {
102  DPRINT("DuplicateTokenEx() failed with error -> %lu\n", GetLastError());
104  return FALSE;
105  }
106 
107  /* Finally create the process */
108  bSuccess = CreateProcessAsUserW(hProcessToken,
109  NULL,
110  ExpandedCmdLine,
111  NULL,
112  NULL,
113  FALSE,
114  0, // DETACHED_PROCESS, NORMAL_PRIORITY_CLASS
115  NULL,
116  NULL,
117  &si,
118  &pi);
119 
120  if (!bSuccess)
121  {
122  DPRINT("CreateProcessAsUserW() failed with error -> %lu\n", GetLastError());
124  CloseHandle(hProcessToken);
125  return FALSE;
126  }
127 
128  CloseHandle(pi.hProcess);
129  CloseHandle(pi.hThread);
131  CloseHandle(hProcessToken);
132  return TRUE;
133 }
#define TRUE
Definition: types.h:120
#define CloseHandle
Definition: compat.h:406
#define ARRAYSIZE(array)
Definition: filtermapper.c:47
DWORD WINAPI GetLastError(VOID)
Definition: except.c:1059
#define ZeroMemory
Definition: winbase.h:1642
static BOOLEAN bSuccess
Definition: drive.cpp:419
unsigned int BOOL
Definition: ntddk_ex.h:94
smooth NULL
Definition: ftsmooth.c:416
void DPRINT(...)
Definition: polytest.cpp:61
#define STARTF_USESHOWWINDOW
Definition: winbase.h:472
HANDLE hUserToken
Definition: install.c:39
DWORD cb
Definition: winbase.h:824
#define TOKEN_QUERY
Definition: setypes.h:874
__wchar_t WCHAR
Definition: xmlstorage.h:180
static refpint_t pi[]
Definition: server.c:96
HANDLE WINAPI GetCurrentProcess(VOID)
Definition: proc.c:1138
#define MAX_PATH
Definition: compat.h:26
#define TOKEN_ALL_ACCESS
Definition: setypes.h:892
BOOL WINAPI DuplicateTokenEx(IN HANDLE ExistingTokenHandle, IN DWORD dwDesiredAccess, IN LPSECURITY_ATTRIBUTES lpTokenAttributes OPTIONAL, IN SECURITY_IMPERSONATION_LEVEL ImpersonationLevel, IN TOKEN_TYPE TokenType, OUT PHANDLE DuplicateTokenHandle)
Definition: security.c:3394
#define TOKEN_DUPLICATE
Definition: setypes.h:872
WORD wShowWindow
Definition: winbase.h:836
BOOL WINAPI DECLSPEC_HOTPATCH CreateProcessAsUserW(_In_opt_ HANDLE hToken, _In_opt_ LPCWSTR lpApplicationName, _Inout_opt_ LPWSTR lpCommandLine, _In_opt_ LPSECURITY_ATTRIBUTES lpProcessAttributes, _In_opt_ LPSECURITY_ATTRIBUTES lpThreadAttributes, _In_ BOOL bInheritHandles, _In_ DWORD dwCreationFlags, _In_opt_ LPVOID lpEnvironment, _In_opt_ LPCWSTR lpCurrentDirectory, _In_ LPSTARTUPINFOW lpStartupInfo, _Out_ LPPROCESS_INFORMATION lpProcessInformation)
Definition: logon.c:281
#define SW_SHOWNORMAL
Definition: winuser.h:764
BOOL WINAPI OpenProcessToken(HANDLE ProcessHandle, DWORD DesiredAccess, PHANDLE TokenHandle)
Definition: security.c:296
DWORD WINAPI ExpandEnvironmentStringsW(IN LPCWSTR lpSrc, IN LPWSTR lpDst, IN DWORD nSize)
Definition: environ.c:519
DWORD dwFlags
Definition: winbase.h:835

Referenced by DlgProc().

◆ ListBoxRefreshContents()

INT ListBoxRefreshContents ( VOID  )

@ListBoxRefreshContents

Handle the tasks on a periodic cycle. This function handles WM_TIMER message.

Returns
Returns 0 to inform the system that WM_TIMER has been processed.

Definition at line 206 of file dialog.c.

207 {
208  UINT i;
209  INT iItem;
210  BOOL bIsRunning;
211  WCHAR szFormat[MAX_BUFFER];
212 
213  /* Disable listbox redraw */
215 
216  for (i = 0; i < _countof(EntriesList); ++i)
217  {
218  /* Check the utility's state */
219  bIsRunning = IsProcessRunning(EntriesList[i].lpProgram);
220  if (bIsRunning != EntriesList[i].bState)
221  {
222  /* The utility's state has changed, save it */
223  EntriesList[i].bState = bIsRunning;
224 
225  /* Update the corresponding item in the listbox */
226  StringCchPrintfW(szFormat, _countof(szFormat),
227  (bIsRunning ? Globals.szRunning : Globals.szNotRunning),
229 
231  iItem = SendMessageW(Globals.hListDlg, LB_INSERTSTRING, (LPARAM)i, (LPARAM)szFormat);
232  if (iItem != LB_ERR)
234  }
235  }
236 
237  /* Re-enable listbox redraw */
239 
240  /*
241  * Check the previously selected item. This will help us determine what
242  * item has been selected and set its focus selection back. Furthermore, check
243  * the state of each accessibility tool and enable/disable the buttons.
244  */
247 
248  return 0;
249 }
#define LB_SETCURSEL
Definition: winuser.h:2045
#define TRUE
Definition: types.h:120
#define _countof(array)
Definition: fontsub.cpp:30
BOOL IsProcessRunning(IN LPCWSTR lpProcessName)
Definition: process.c:27
#define WM_SETREDRAW
Definition: winuser.h:1598
WCHAR szResource[MAX_BUFFER]
Definition: precomp.h:49
UINT_PTR WPARAM
Definition: windef.h:207
int32_t INT
Definition: typedefs.h:56
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
Definition: glfuncs.h:248
#define LB_ERR
Definition: winuser.h:2407
unsigned int BOOL
Definition: ntddk_ex.h:94
VOID UpdateUtilityState(IN BOOL bUtilState)
Definition: dialog.c:188
LONG_PTR LPARAM
Definition: windef.h:208
__wchar_t WCHAR
Definition: xmlstorage.h:180
#define MAX_BUFFER
Definition: precomp.h:26
UTILMAN_STATE EntriesList[]
Definition: dialog.c:19
#define LB_SETITEMDATA
Definition: winuser.h:2047
BOOL bState
Definition: precomp.h:50
UTILMAN_GLOBALS Globals
Definition: dialog.c:15
LRESULT WINAPI SendMessageW(_In_ HWND, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
STRSAFEAPI StringCchPrintfW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszFormat,...)
Definition: strsafe.h:530
unsigned int UINT
Definition: ndis.h:50
HWND hListDlg
Definition: precomp.h:38
#define LB_DELETESTRING
Definition: winuser.h:2014
INT iSelectedIndex
Definition: precomp.h:35
#define LB_INSERTSTRING
Definition: winuser.h:2035
WCHAR szNotRunning[MAX_BUFFER]
Definition: precomp.h:41
WCHAR szRunning[MAX_BUFFER]
Definition: precomp.h:40

Referenced by DlgInitHandler(), and DlgProc().

◆ ShowAboutDlg()

VOID ShowAboutDlg ( HWND  hDlgParent)

@ShowAboutDlg

Display the "About" dialog.

Parameters
hDlgParentThe handle object of the parent dialog.
Returns
Nothing.

Definition at line 77 of file about.c.

78 {
81  hWndParent,
83 }
HINSTANCE hInstance
Definition: charmap.c:20
#define IDD_ABOUTBOX
Definition: resource.h:8
static INT_PTR CALLBACK AboutDialogProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam)
Definition: about.c:15
#define DialogBoxW(i, t, p, f)
Definition: winuser.h:4374
#define MAKEINTRESOURCEW(i)
Definition: winuser.h:582

Referenced by DlgProc(), and PanelWndProc().

Variable Documentation

◆ Globals

UTILMAN_GLOBALS Globals

Definition at line 13 of file clipbrd.c.