10#pragma warning(disable:4201)
15#define SNDMSG ::SendMessage
17#define SNDMSG SendMessage
21#define MAXPROPPAGES 100
23#define PSP_DLGINDIRECT 1
25#define PSP_USEICONID 4
27#define PSP_RTLREADING 16
29#define PSP_USEREFPARENT 64
30#define PSP_USECALLBACK 128
31#define PSP_PREMATURE 1024
32#if (_WIN32_IE >= 0x0400)
33#define PSP_HIDEHEADER 2048
34#define PSP_USEHEADERTITLE 4096
35#define PSP_USEHEADERSUBTITLE 8192
37#define PSPCB_RELEASE 1
40#define PSH_PROPTITLE 1
42#define PSH_USEICONID 4
43#define PSH_PROPSHEETPAGE 8
44#define PSH_WIZARDHASFINISH 16
46#define PSH_USEPSTARTPAGE 64
47#define PSH_NOAPPLYNOW 128
48#define PSH_USECALLBACK 256
49#define PSH_HASHELP 512
50#define PSH_MODELESS 1024
51#define PSH_RTLREADING 2048
52#define PSH_WIZARDCONTEXTHELP 4096
53#if (_WIN32_IE >= 0x0400)
54#define PSH_WATERMARK 32768
55#define PSH_USEHBMWATERMARK 65536
56#define PSH_USEHPLWATERMARK 131072
57#define PSH_STRETCHWATERMARK 262144
58#define PSH_HEADER 524288
59#define PSH_USEHBMHEADER 1048576
60#define PSH_USEPAGELANG 2097152
61#if (_WIN32_IE < 0x0500)
62#define PSH_WIZARD97 0x00002000
64#define PSH_WIZARD97 0x01000000
67#define PSH_WIZARD97_OLD 0x00002000
68#define PSH_WIZARD97_NEW 0x01000000
71#if (_WIN32_IE >= 0x0500)
72#define PSH_WIZARD_LITE 0x400000
73#define PSH_NOCONTEXTHELP 0x2000000
75#define PSCB_INITIALIZED 1
76#define PSCB_PRECREATE 2
77#if (_WIN32_IE >= 0x560)
78#define PSCB_BUTTONPRESSED 3
80#define PSM_GETTABCONTROL 1140
81#define PSM_GETCURRENTPAGEHWND 1142
82#if (_WIN32_IE >= 0x0500)
83#define PSM_GETRESULT 1159
84#define PropSheet_GetResult(hDlg) SNDMSG(hDlg, PSM_GETRESULT, 0, 0)
86#define PSM_HWNDTOINDEX 1153
87#define PropSheet_HwndToIndex(hDlg, hwnd) \
88 (int)SNDMSG(hDlg, PSM_HWNDTOINDEX, (WPARAM)(hwnd), 0)
90#define PSM_IDTOINDEX 1157
91#define PSM_INDEXTOHWND 1154
92#define PSM_INDEXTOID 1158
93#define PSM_INDEXTOPAGE 1156
94#define PSM_INSERTPAGE 1143
96#define PSM_ISDIALOGMESSAGE 1141
97#if (_WIN32_IE >= 0x0500)
98#define PSM_PAGETOINDEX 1155
100#define PSM_PRESSBUTTON 1137
101#if (_WIN32_IE >= 0x0500)
102#define PSM_RECALCPAGESIZES 1160
104#define PSM_SETCURSELID 1138
105#define PSM_SETFINISHTEXTW 1145
106#define PSM_SETFINISHTEXTA 1139
107#if (_WIN32_IE >= 0x0500)
108#define PSM_SETHEADERTITLEA 1149
109#define PSM_SETHEADERTITLEW 1150
110#define PSM_SETHEADERSUBTITLEA 1151
111#define PSM_SETHEADERSUBTITLEW 1152
114#define PSN_FIRST (0U - 200U)
115#define PSN_SETACTIVE (PSN_FIRST - 0)
116#define PSN_KILLACTIVE (PSN_FIRST - 1)
117#define PSN_APPLY (PSN_FIRST - 2)
118#define PSN_RESET (PSN_FIRST - 3)
119#define PSN_HELP (PSN_FIRST - 5)
120#define PSN_WIZBACK (PSN_FIRST - 6)
121#define PSN_WIZNEXT (PSN_FIRST - 7)
122#define PSN_WIZFINISH (PSN_FIRST - 8)
123#define PSN_QUERYCANCEL (PSN_FIRST - 9)
124#define PSN_GETOBJECT (PSN_FIRST - 10)
125#define PSN_TRANSLATEACCELERATOR (PSN_FIRST - 12)
126#define PSN_QUERYINITIALFOCUS (PSN_FIRST - 13)
127#define PSN_LAST (PSN_FIRST - 99)
129#define PSNRET_NOERROR 0
130#define PSNRET_INVALID 1
131#define PSNRET_INVALID_NOCHANGEPAGE 2
132#define ID_PSRESTARTWINDOWS 2
133#define ID_PSREBOOTSYSTEM 3
138#define WIZ_BODYCX 184
139#define PROP_SM_CXDLG 212
140#define PROP_SM_CYDLG 188
141#define PROP_MED_CXDLG 227
142#define PROP_MED_CYDLG 215
143#define PROP_LG_CXDLG 252
144#define PROP_LG_CYDLG 218
148#define PSBTN_FINISH 2
150#define PSBTN_APPLYNOW 4
151#define PSBTN_CANCEL 5
155#define PSWIZB_FINISH 4
156#define PSWIZB_DISABLEDFINISH 8
157#define PSM_SETWIZBUTTONS (WM_USER+112)
158#define PSM_APPLY (WM_USER+110)
159#define PSM_UNCHANGED (WM_USER+109)
160#define PSM_QUERYSIBLINGS (WM_USER+108)
161#define PSM_CANCELTOCLOSE (WM_USER+107)
162#define PSM_REBOOTSYSTEM (WM_USER+106)
163#define PSM_RESTARTWINDOWS (WM_USER+105)
164#define PSM_CHANGED (WM_USER+104)
165#define PSM_ADDPAGE (WM_USER+103)
166#define PSM_REMOVEPAGE (WM_USER+102)
167#define PSM_SETCURSEL (WM_USER+101)
168#define PSM_SETTITLEA (WM_USER+111)
169#define PSM_SETTITLEW (WM_USER+120)
171#define PSPCB_ADDREF 0
193#if (_WIN32_IE >= 0x0400)
197#if (_WIN32_IE >= 0x0501)
200#if (_WIN32_IE >= 0x0600)
209#define PROPSHEETPAGEA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA, pcRefParent)
210#define PROPSHEETPAGEA_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA, pszHeaderSubTitle)
211#define PROPSHEETPAGEA_V3_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEA, hActCtx)
212#define PROPSHEETPAGEA_V4_SIZE sizeof(PROPSHEETPAGEA)
230#if (_WIN32_IE >= 0x0400)
234#if (_WIN32_IE >= 0x0501)
237#if (_WIN32_IE >= 0x0600)
246#define PROPSHEETPAGEW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW, pcRefParent)
247#define PROPSHEETPAGEW_V2_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW, pszHeaderSubTitle)
248#define PROPSHEETPAGEW_V3_SIZE CCSIZEOF_STRUCT(PROPSHEETPAGEW, hActCtx)
249#define PROPSHEETPAGEW_V4_SIZE sizeof(PROPSHEETPAGEW)
253#ifndef _HPROPSHEETPAGE_DEFINED
254#define _HPROPSHEETPAGE_DEFINED
277#if (_WIN32_IE >= 0x0400)
282 HPALETTE hplWatermark;
290#define PROPSHEETHEADERA_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERA, pfnCallback)
291#define PROPSHEETHEADERA_V2_SIZE sizeof(PROPSHEETHEADERA)
312#if (_WIN32_IE >= 0x0400)
317 HPALETTE hplWatermark;
325#define PROPSHEETHEADERW_V1_SIZE CCSIZEOF_STRUCT(PROPSHEETHEADERW, pfnCallback)
326#define PROPSHEETHEADERW_V2_SIZE sizeof(PROPSHEETHEADERW)
341#define PropSheet_AddPage(d,p) SendMessage(d,PSM_ADDPAGE,0,(LPARAM)p)
342#define PropSheet_Apply(d) SendMessage(d,PSM_APPLY,0,0)
343#define PropSheet_CancelToClose(d) SendMessage(d,PSM_CANCELTOCLOSE,0,0)
344#define PropSheet_Changed(d,w) SendMessage(d,PSM_CHANGED,(WPARAM)w,0)
345#define PropSheet_GetCurrentPageHwnd(d) (HWND)SendMessage(d,PSM_GETCURRENTPAGEHWND,0,0)
346#define PropSheet_GetTabControl(d) (HWND)SendMessage(d,PSM_GETTABCONTROL,0,0)
347#define PropSheet_IsDialogMessage(d,m) (BOOL)SendMessage(d,PSM_ISDIALOGMESSAGE,0,(LPARAM)m)
348#define PropSheet_PressButton(d,i) SendMessage(d,PSM_PRESSBUTTON,i,0)
349#define PropSheet_QuerySiblings(d,w,l) SendMessage(d,PSM_QUERYSIBLINGS,w,l)
350#define PropSheet_RebootSystem(d) SendMessage(d,PSM_REBOOTSYSTEM,0,0)
351#define PropSheet_RemovePage(d,i,p) SendMessage(d,PSM_REMOVEPAGE,i,(LPARAM)p)
352#define PropSheet_RestartWindows(d) SendMessage(d,PSM_RESTARTWINDOWS,0,0)
353#define PropSheet_SetCurSel(d,p,i) SendMessage(d,PSM_SETCURSEL,i,(LPARAM)p)
354#define PropSheet_SetCurSelByID(d,i) SendMessage(d,PSM_SETCURSELID,0,i)
355#define PropSheet_SetFinishText(d,s) SendMessage(d,PSM_SETFINISHTEXT,0,(LPARAM)s)
356#define PropSheet_SetTitle(d,w,s) SendMessage(d,PSM_SETTITLE,w,(LPARAM)s)
357#define PropSheet_SetWizButtons(d,f) PostMessage(d,PSM_SETWIZBUTTONS,0,(LPARAM)f)
358#define PropSheet_UnChanged(d,w) SendMessage(d,PSM_UNCHANGED,(WPARAM)w,0)
359#define PropSheet_RecalcPageSizes(d) SendMessage(d,PSM_RECALCPAGESIZES,0,0)
362#define WC_PROPSHEETA "SysPropertySheet"
364# define WC_PROPSHEETW (const WCHAR []){ 'S','y','s', \
365 'P','r','o','p','e','r','t','y','S','h','e','e','t',0 }
366#elif defined(_MSC_VER)
367# define WC_PROPSHEETW L"SysPropertySheet"
370 'P',
'r',
'o',
'p',
'e',
'r',
't',
'y',
'S',
'h',
'e',
'e',
't',0 };
374#define LPFNPSPCALLBACK LPFNPSPCALLBACKW
375#define PROPSHEETPAGE PROPSHEETPAGEW
376#define LPPROPSHEETPAGE LPPROPSHEETPAGEW
377#define LPCPROPSHEETPAGE LPCPROPSHEETPAGEW
378#define PROPSHEETHEADER PROPSHEETHEADERW
379#define LPPROPSHEETHEADER LPPROPSHEETHEADERW
380#define LPCPROPSHEETHEADER LPCPROPSHEETHEADERW
381#define PSM_SETTITLE PSM_SETTITLEW
382#define PSM_SETFINISHTEXT PSM_SETFINISHTEXTW
383#define PSM_SETHEADERTITLE PSM_SETHEADERTITLEW
384#define PSM_SETHEADERSUBTITLE PSM_SETHEADERSUBTITLEW
385#define CreatePropertySheetPage CreatePropertySheetPageW
386#define PropertySheet PropertySheetW
388#define LPFNPSPCALLBACK LPFNPSPCALLBACKA
389#define PROPSHEETPAGE PROPSHEETPAGEA
390#define LPPROPSHEETPAGE LPPROPSHEETPAGEA
391#define LPCPROPSHEETPAGE LPCPROPSHEETPAGEA
392#define PROPSHEETHEADER PROPSHEETHEADERA
393#define LPPROPSHEETHEADER LPPROPSHEETHEADERA
394#define LPCPROPSHEETHEADER LPCPROPSHEETHEADERA
395#define PSM_SETTITLE PSM_SETTITLEA
396#define PSM_SETFINISHTEXT PSM_SETFINISHTEXTA
397#define PSM_SETHEADERTITLE PSM_SETHEADERTITLEA
398#define PSM_SETHEADERSUBTITLE PSM_SETHEADERSUBTITLEA
399#define CreatePropertySheetPage CreatePropertySheetPageA
400#define PropertySheet PropertySheetA
unsigned int(__cdecl typeof(jpeg_read_scanlines))(struct jpeg_decompress_struct *
#define DECLARE_HANDLE(name)
struct _PSP * HPROPSHEETPAGE
struct _PROPSHEETHEADERW * LPPROPSHEETHEADERW
int(CALLBACK * PFNPROPSHEETCALLBACK)(HWND, UINT, LPARAM)
HPROPSHEETPAGE WINAPI CreatePropertySheetPageA(LPCPROPSHEETPAGEA)
struct _PROPSHEETPAGEA * LPPROPSHEETPAGEA
INT_PTR WINAPI PropertySheetA(LPCPROPSHEETHEADERA)
struct _PROPSHEETPAGEW * LPPROPSHEETPAGEW_LATEST
const PROPSHEETPAGEW * LPCPROPSHEETPAGEW_LATEST
BOOL WINAPI DestroyPropertySheetPage(HPROPSHEETPAGE)
struct _PROPSHEETPAGEW PROPSHEETPAGEW_LATEST
struct _PROPSHEETPAGEW PROPSHEETPAGEW
const PROPSHEETPAGEA * LPCPROPSHEETPAGEA_LATEST
struct _PROPSHEETPAGEA PROPSHEETPAGEA_LATEST
UINT(CALLBACK * LPFNPSPCALLBACKW)(HWND, UINT, LPPROPSHEETPAGEW)
static const WCHAR WC_PROPSHEETW[]
struct _PSHNOTIFY PSHNOTIFY
struct _PROPSHEETHEADERA * LPPROPSHEETHEADERA
const PROPSHEETHEADERW * LPCPROPSHEETHEADERW
const PROPSHEETPAGEA * LPCPROPSHEETPAGEA
INT_PTR WINAPI PropertySheetW(LPCPROPSHEETHEADERW)
BOOL(CALLBACK * LPFNADDPROPSHEETPAGES)(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM)
struct _PROPSHEETPAGEW * LPPROPSHEETPAGEW
BOOL(CALLBACK * LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM)
struct _PROPSHEETHEADERW PROPSHEETHEADERW
struct _PROPSHEETHEADERA PROPSHEETHEADERA
HPROPSHEETPAGE WINAPI CreatePropertySheetPageW(LPCPROPSHEETPAGEW)
const PROPSHEETHEADERA * LPCPROPSHEETHEADERA
struct _PROPSHEETPAGEA * LPPROPSHEETPAGEA_LATEST
struct _PSHNOTIFY * LPPSHNOTIFY
const PROPSHEETPAGEW * LPCPROPSHEETPAGEW
struct _PROPSHEETPAGEA PROPSHEETPAGEA
UINT(CALLBACK * LPFNPSPCALLBACKA)(HWND, UINT, LPPROPSHEETPAGEA)
struct _PROPSHEETPAGEA *UINT * pcRefParent
_ANONYMOUS_UNION union _PROPSHEETPAGEA::@3212 DUMMYUNIONNAME
_ANONYMOUS_UNION union _PROPSHEETPAGEA::@3213 DUMMYUNIONNAME2
struct _PROPSHEETPAGEW *UINT * pcRefParent
_ANONYMOUS_UNION union _PROPSHEETPAGEW::@3215 DUMMYUNIONNAME2
_ANONYMOUS_UNION union _PROPSHEETPAGEW::@3214 DUMMYUNIONNAME