Artifact d175d0f84ae4026017b74e1b50ab8355323c3f63:
- File
src/win32/prsht.d
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
The problem was __gshared. Replacing it with TLS fixed the issue. Remaining problem is that "hack.d"'s CloseHandle hack is not working anymore.
(user: kinaba) [annotate]
-
2015-05-05 06:49:05
- part of checkin
[9b639cf2d6]
on branch trunk
- Working version for update to 2.067.
0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a /*************** 0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20 ********\..* 0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0060: 20 20 20 20 20 20 20 20 20 20 20 20 70 72 73 68 prsh 0070: 74 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 t.d 0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20 *..* 00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d *. 00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .* 00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73 Windows 0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75 API header modu 0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20 le 0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20 *..* 0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 *..* 0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61 Transla 0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57 ted from MinGW W 01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20 indows headers 01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a * 01c0: 0d 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 ..* 01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 79 by 01e0: 20 56 6c 61 64 69 6d 69 72 20 56 6c 61 73 6f 76 Vladimir Vlasov 01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0200: 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 *..* 0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0220: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0230: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0250: 20 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 *..* 0260: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0270: 50 6c 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c Placed into publ 0280: 69 63 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 ic domain 0290: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 02a0: 2a 0d 0a 5c 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a *..\************ 02b0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 02c0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 02d0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a **************** 02e0: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2f 0d 0a 6d 6f ***********/..mo 02f0: 64 75 6c 65 20 77 69 6e 33 32 2e 70 72 73 68 74 dule win32.prsht 0300: 3b 0d 0a 70 72 61 67 6d 61 28 6c 69 62 2c 20 22 ;..pragma(lib, " 0310: 63 6f 6d 63 74 6c 33 32 22 29 3b 0d 0a 0d 0a 70 comctl32");....p 0320: 72 69 76 61 74 65 20 69 6d 70 6f 72 74 20 77 69 rivate import wi 0330: 6e 33 32 2e 77 33 32 61 70 69 2c 20 77 69 6e 33 n32.w32api, win3 0340: 32 2e 77 69 6e 64 65 66 2c 20 77 69 6e 33 32 2e 2.windef, win32. 0350: 77 69 6e 75 73 65 72 3b 0d 0a 0d 0a 63 6f 6e 73 winuser;....cons 0360: 74 20 4d 41 58 50 52 4f 50 50 41 47 45 53 20 3d t MAXPROPPAGES = 0370: 20 31 30 30 3b 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 100;....enum {. 0380: 0a 09 50 53 50 5f 44 45 46 41 55 4c 54 20 20 20 ..PSP_DEFAULT 0390: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 30 2c = 0x00000000, 03a0: 0d 0a 09 50 53 50 5f 44 4c 47 49 4e 44 49 52 45 ...PSP_DLGINDIRE 03b0: 43 54 20 20 3d 20 30 78 30 30 30 30 30 30 30 31 CT = 0x00000001 03c0: 2c 0d 0a 09 50 53 50 5f 55 53 45 48 49 43 4f 4e ,...PSP_USEHICON 03d0: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 = 0x0000000 03e0: 32 2c 0d 0a 09 50 53 50 5f 55 53 45 49 43 4f 4e 2,...PSP_USEICON 03f0: 49 44 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 ID = 0x000000 0400: 30 34 2c 0d 0a 09 50 53 50 5f 55 53 45 54 49 54 04,...PSP_USETIT 0410: 4c 45 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 LE = 0x00000 0420: 30 30 38 2c 0d 0a 09 50 53 50 5f 52 54 4c 52 45 008,...PSP_RTLRE 0430: 41 44 49 4e 47 20 20 20 3d 20 30 78 30 30 30 30 ADING = 0x0000 0440: 30 30 31 30 2c 0d 0a 09 50 53 50 5f 48 41 53 48 0010,...PSP_HASH 0450: 45 4c 50 20 20 20 20 20 20 3d 20 30 78 30 30 30 ELP = 0x000 0460: 30 30 30 32 30 2c 0d 0a 09 50 53 50 5f 55 53 45 00020,...PSP_USE 0470: 52 45 46 50 41 52 45 4e 54 20 3d 20 30 78 30 30 REFPARENT = 0x00 0480: 30 30 30 30 34 30 2c 0d 0a 09 50 53 50 5f 55 53 000040,...PSP_US 0490: 45 43 41 4c 4c 42 41 43 4b 20 20 3d 20 30 78 30 ECALLBACK = 0x0 04a0: 30 30 30 30 30 38 30 2c 0d 0a 09 50 53 50 5f 50 0000080,...PSP_P 04b0: 52 45 4d 41 54 55 52 45 20 20 20 20 3d 20 30 78 REMATURE = 0x 04c0: 30 30 30 30 30 34 30 30 0d 0a 7d 0d 0a 0d 0a 73 00000400..}....s 04d0: 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 tatic if (_WIN32 04e0: 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d _IE >= 0x400) {. 04f0: 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 50 53 50 5f ..enum {....PSP_ 0500: 48 49 44 45 48 45 41 44 45 52 20 20 20 20 20 20 HIDEHEADER 0510: 20 20 3d 20 30 78 30 30 30 30 30 38 30 30 2c 0d = 0x00000800,. 0520: 0a 09 09 50 53 50 5f 55 53 45 48 45 41 44 45 52 ...PSP_USEHEADER 0530: 54 49 54 4c 45 20 20 20 20 3d 20 30 78 30 30 30 TITLE = 0x000 0540: 30 31 30 30 30 2c 0d 0a 09 09 50 53 50 5f 55 53 01000,....PSP_US 0550: 45 48 45 41 44 45 52 53 55 42 54 49 54 4c 45 20 EHEADERSUBTITLE 0560: 3d 20 30 78 30 30 30 30 32 30 30 30 0d 0a 09 7d = 0x00002000...} 0570: 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 ..}....enum {... 0580: 50 53 50 43 42 5f 52 45 4c 45 41 53 45 20 3d 20 PSPCB_RELEASE = 0590: 31 2c 0d 0a 09 50 53 50 43 42 5f 43 52 45 41 54 1,...PSPCB_CREAT 05a0: 45 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a E..}....enum {.. 05b0: 09 50 53 48 5f 44 45 46 41 55 4c 54 20 20 20 20 .PSH_DEFAULT 05c0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 = 0x00000 05d0: 30 30 30 2c 0d 0a 09 50 53 48 5f 50 52 4f 50 54 000,...PSH_PROPT 05e0: 49 54 4c 45 20 20 20 20 20 20 20 20 20 3d 20 30 ITLE = 0 05f0: 78 30 30 30 30 30 30 30 31 2c 0d 0a 09 50 53 48 x00000001,...PSH 0600: 5f 55 53 45 48 49 43 4f 4e 20 20 20 20 20 20 20 _USEHICON 0610: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 32 2c = 0x00000002, 0620: 0d 0a 09 50 53 48 5f 55 53 45 49 43 4f 4e 49 44 ...PSH_USEICONID 0630: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 = 0x000 0640: 30 30 30 30 34 2c 0d 0a 09 50 53 48 5f 50 52 4f 00004,...PSH_PRO 0650: 50 53 48 45 45 54 50 41 47 45 20 20 20 20 20 3d PSHEETPAGE = 0660: 20 30 78 30 30 30 30 30 30 30 38 2c 0d 0a 09 50 0x00000008,...P 0670: 53 48 5f 57 49 5a 41 52 44 48 41 53 46 49 4e 49 SH_WIZARDHASFINI 0680: 53 48 20 20 20 3d 20 30 78 30 30 30 30 30 30 31 SH = 0x0000001 0690: 30 2c 0d 0a 09 50 53 48 5f 57 49 5a 41 52 44 20 0,...PSH_WIZARD 06a0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 = 0x0 06b0: 30 30 30 30 30 32 30 2c 0d 0a 09 50 53 48 5f 55 0000020,...PSH_U 06c0: 53 45 50 53 54 41 52 54 50 41 47 45 20 20 20 20 SEPSTARTPAGE 06d0: 20 3d 20 30 78 30 30 30 30 30 30 34 30 2c 0d 0a = 0x00000040,.. 06e0: 09 50 53 48 5f 4e 4f 41 50 50 4c 59 4e 4f 57 20 .PSH_NOAPPLYNOW 06f0: 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 = 0x00000 0700: 30 38 30 2c 0d 0a 09 50 53 48 5f 55 53 45 43 41 080,...PSH_USECA 0710: 4c 4c 42 41 43 4b 20 20 20 20 20 20 20 3d 20 30 LLBACK = 0 0720: 78 30 30 30 30 30 31 30 30 2c 0d 0a 09 50 53 48 x00000100,...PSH 0730: 5f 48 41 53 48 45 4c 50 20 20 20 20 20 20 20 20 _HASHELP 0740: 20 20 20 3d 20 30 78 30 30 30 30 30 32 30 30 2c = 0x00000200, 0750: 0d 0a 09 50 53 48 5f 4d 4f 44 45 4c 45 53 53 20 ...PSH_MODELESS 0760: 20 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 30 = 0x000 0770: 30 30 34 30 30 2c 0d 0a 09 50 53 48 5f 52 54 4c 00400,...PSH_RTL 0780: 52 45 41 44 49 4e 47 20 20 20 20 20 20 20 20 3d READING = 0790: 20 30 78 30 30 30 30 30 38 30 30 2c 0d 0a 09 50 0x00000800,...P 07a0: 53 48 5f 57 49 5a 41 52 44 43 4f 4e 54 45 58 54 SH_WIZARDCONTEXT 07b0: 48 45 4c 50 20 3d 20 30 78 30 30 30 30 31 30 30 HELP = 0x0000100 07c0: 30 0d 0a 7d 0d 0a 0d 0a 73 74 61 74 69 63 20 69 0..}....static i 07d0: 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d 20 f (_WIN32_IE >= 07e0: 30 78 34 30 30 29 20 7b 0d 0a 09 65 6e 75 6d 20 0x400) {...enum 07f0: 7b 0d 0a 09 09 50 53 48 5f 57 41 54 45 52 4d 41 {....PSH_WATERMA 0800: 52 4b 20 20 20 20 20 20 20 20 3d 20 30 78 30 30 RK = 0x00 0810: 30 30 38 30 30 30 2c 0d 0a 09 09 50 53 48 5f 55 008000,....PSH_U 0820: 53 45 48 42 4d 57 41 54 45 52 4d 41 52 4b 20 20 SEHBMWATERMARK 0830: 3d 20 30 78 30 30 30 31 30 30 30 30 2c 0d 0a 09 = 0x00010000,... 0840: 09 50 53 48 5f 55 53 45 48 50 4c 57 41 54 45 52 .PSH_USEHPLWATER 0850: 4d 41 52 4b 20 20 3d 20 30 78 30 30 30 32 30 30 MARK = 0x000200 0860: 30 30 2c 0d 0a 09 09 50 53 48 5f 53 54 52 45 54 00,....PSH_STRET 0870: 43 48 57 41 54 45 52 4d 41 52 4b 20 3d 20 30 78 CHWATERMARK = 0x 0880: 30 30 30 34 30 30 30 30 2c 0d 0a 09 09 50 53 48 00040000,....PSH 0890: 5f 48 45 41 44 45 52 20 20 20 20 20 20 20 20 20 _HEADER 08a0: 20 20 3d 20 30 78 30 30 30 38 30 30 30 30 2c 0d = 0x00080000,. 08b0: 0a 09 09 50 53 48 5f 55 53 45 48 42 4d 48 45 41 ...PSH_USEHBMHEA 08c0: 44 45 52 20 20 20 20 20 3d 20 30 78 30 30 31 30 DER = 0x0010 08d0: 30 30 30 30 2c 0d 0a 09 09 50 53 48 5f 55 53 45 0000,....PSH_USE 08e0: 50 41 47 45 4c 41 4e 47 20 20 20 20 20 20 3d 20 PAGELANG = 08f0: 30 78 30 30 32 30 30 30 30 30 0d 0a 09 7d 0d 0a 0x00200000...}.. 0900: 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e .static if (_WIN 0910: 33 32 5f 49 45 20 3c 20 30 78 30 35 30 30 29 20 32_IE < 0x0500) 0920: 7b 0d 0a 09 09 65 6e 75 6d 20 7b 0d 0a 09 09 09 {....enum {..... 0930: 50 53 48 5f 57 49 5a 41 52 44 39 37 20 3d 20 30 PSH_WIZARD97 = 0 0940: 78 30 30 30 30 32 30 30 30 0d 0a 09 09 7d 0d 0a x00002000....}.. 0950: 09 7d 20 65 6c 73 65 20 7b 0d 0a 09 09 65 6e 75 .} else {....enu 0960: 6d 20 7b 0d 0a 09 09 09 50 53 48 5f 57 49 5a 41 m {.....PSH_WIZA 0970: 52 44 39 37 20 3d 20 30 78 30 31 30 30 30 30 30 RD97 = 0x0100000 0980: 30 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 7d 0d 0a 0d 0....}...}..}... 0990: 0a 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e .static if (_WIN 09a0: 33 32 5f 49 45 20 3e 3d 20 30 78 35 30 30 29 20 32_IE >= 0x500) 09b0: 7b 0d 0a 09 65 6e 75 6d 20 7b 0d 0a 09 09 50 53 {...enum {....PS 09c0: 48 5f 57 49 5a 41 52 44 5f 4c 49 54 45 20 20 20 H_WIZARD_LITE 09d0: 3d 20 30 78 30 30 34 30 30 30 30 30 2c 0d 0a 09 = 0x00400000,... 09e0: 09 50 53 48 5f 4e 4f 43 4f 4e 54 45 58 54 48 45 .PSH_NOCONTEXTHE 09f0: 4c 50 20 3d 20 30 78 30 32 30 30 30 30 30 30 0d LP = 0x02000000. 0a00: 0a 09 7d 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b ..}..}....enum { 0a10: 0d 0a 09 50 53 43 42 5f 49 4e 49 54 49 41 4c 49 ...PSCB_INITIALI 0a20: 5a 45 44 20 3d 20 31 2c 0d 0a 09 50 53 43 42 5f ZED = 1,...PSCB_ 0a30: 50 52 45 43 52 45 41 54 45 0d 0a 7d 0d 0a 0d 0a PRECREATE..}.... 0a40: 65 6e 75 6d 20 7b 0d 0a 09 50 53 4e 5f 46 49 52 enum {...PSN_FIR 0a50: 53 54 20 20 20 20 20 20 20 3d 20 28 2d 32 30 30 ST = (-200 0a60: 29 2c 0d 0a 09 50 53 4e 5f 4c 41 53 54 20 20 20 ),...PSN_LAST 0a70: 20 20 20 20 20 3d 20 28 2d 32 39 39 29 2c 0d 0a = (-299),.. 0a80: 09 50 53 4e 5f 53 45 54 41 43 54 49 56 45 20 20 .PSN_SETACTIVE 0a90: 20 3d 20 28 2d 32 30 30 29 2c 0d 0a 09 50 53 4e = (-200),...PSN 0aa0: 5f 4b 49 4c 4c 41 43 54 49 56 45 20 20 3d 20 28 _KILLACTIVE = ( 0ab0: 2d 32 30 31 29 2c 0d 0a 09 50 53 4e 5f 41 50 50 -201),...PSN_APP 0ac0: 4c 59 20 20 20 20 20 20 20 3d 20 28 2d 32 30 32 LY = (-202 0ad0: 29 2c 0d 0a 09 50 53 4e 5f 52 45 53 45 54 20 20 ),...PSN_RESET 0ae0: 20 20 20 20 20 3d 20 28 2d 32 30 33 29 2c 0d 0a = (-203),.. 0af0: 09 50 53 4e 5f 48 45 4c 50 20 20 20 20 20 20 20 .PSN_HELP 0b00: 20 3d 20 28 2d 32 30 35 29 2c 0d 0a 09 50 53 4e = (-205),...PSN 0b10: 5f 57 49 5a 42 41 43 4b 20 20 20 20 20 3d 20 28 _WIZBACK = ( 0b20: 2d 32 30 36 29 2c 0d 0a 09 50 53 4e 5f 57 49 5a -206),...PSN_WIZ 0b30: 4e 45 58 54 20 20 20 20 20 3d 20 28 2d 32 30 37 NEXT = (-207 0b40: 29 2c 0d 0a 09 50 53 4e 5f 57 49 5a 46 49 4e 49 ),...PSN_WIZFINI 0b50: 53 48 20 20 20 3d 20 28 2d 32 30 38 29 2c 0d 0a SH = (-208),.. 0b60: 09 50 53 4e 5f 51 55 45 52 59 43 41 4e 43 45 4c .PSN_QUERYCANCEL 0b70: 20 3d 20 28 2d 32 30 39 29 0d 0a 7d 0d 0a 73 74 = (-209)..}..st 0b80: 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 32 5f atic if (_WIN32_ 0b90: 49 45 20 3e 3d 20 30 78 34 30 30 29 20 7b 0d 0a IE >= 0x400) {.. 0ba0: 09 65 6e 75 6d 20 7b 0d 0a 09 09 50 53 4e 5f 47 .enum {....PSN_G 0bb0: 45 54 4f 42 4a 45 43 54 20 3d 20 28 2d 32 31 30 ETOBJECT = (-210 0bc0: 29 0d 0a 09 7d 0d 0a 7d 0d 0a 73 74 61 74 69 63 )...}..}..static 0bd0: 20 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e if (_WIN32_IE > 0be0: 3d 20 30 78 35 30 30 29 20 7b 0d 0a 09 65 6e 75 = 0x500) {...enu 0bf0: 6d 20 7b 0d 0a 09 09 50 53 4e 5f 54 52 41 4e 53 m {....PSN_TRANS 0c00: 4c 41 54 45 41 43 43 45 4c 45 52 41 54 4f 52 20 LATEACCELERATOR 0c10: 3d 20 28 2d 32 31 32 29 2c 0d 0a 09 09 50 53 4e = (-212),....PSN 0c20: 5f 51 55 45 52 59 49 4e 49 54 49 41 4c 46 4f 43 _QUERYINITIALFOC 0c30: 55 53 20 20 20 20 3d 20 28 2d 32 31 33 29 0d 0a US = (-213).. 0c40: 09 7d 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d .}..}....enum {. 0c50: 0a 09 50 53 4e 52 45 54 5f 4e 4f 45 52 52 4f 52 ..PSNRET_NOERROR 0c60: 2c 0d 0a 09 50 53 4e 52 45 54 5f 49 4e 56 41 4c ,...PSNRET_INVAL 0c70: 49 44 2c 0d 0a 09 50 53 4e 52 45 54 5f 49 4e 56 ID,...PSNRET_INV 0c80: 41 4c 49 44 5f 4e 4f 43 48 41 4e 47 45 50 41 47 ALID_NOCHANGEPAG 0c90: 45 2c 0d 0a 09 50 53 4e 52 45 54 5f 4d 45 53 53 E,...PSNRET_MESS 0ca0: 41 47 45 48 41 4e 44 4c 45 44 0d 0a 7d 0d 0a 0d AGEHANDLED..}... 0cb0: 0a 65 6e 75 6d 20 7b 0d 0a 09 49 44 5f 50 53 52 .enum {...ID_PSR 0cc0: 45 53 54 41 52 54 57 49 4e 44 4f 57 53 20 3d 20 ESTARTWINDOWS = 0cd0: 30 78 32 2c 0d 0a 09 49 44 5f 50 53 52 45 42 4f 0x2,...ID_PSREBO 0ce0: 4f 54 53 59 53 54 45 4d 20 20 20 3d 20 49 44 5f OTSYSTEM = ID_ 0cf0: 50 53 52 45 53 54 41 52 54 57 49 4e 44 4f 57 53 PSRESTARTWINDOWS 0d00: 20 7c 20 30 78 31 0d 0a 7d 0d 0a 0d 0a 65 6e 75 | 0x1..}....enu 0d10: 6d 20 7b 0d 0a 09 57 49 5a 5f 43 58 44 4c 47 20 m {...WIZ_CXDLG 0d20: 20 3d 20 32 37 36 2c 0d 0a 09 57 49 5a 5f 43 59 = 276,...WIZ_CY 0d30: 44 4c 47 20 20 3d 20 31 34 30 2c 0d 0a 09 57 49 DLG = 140,...WI 0d40: 5a 5f 43 58 42 4d 50 20 20 3d 20 38 30 2c 0d 0a Z_CXBMP = 80,.. 0d50: 09 57 49 5a 5f 42 4f 44 59 58 20 20 3d 20 39 32 .WIZ_BODYX = 92 0d60: 2c 0d 0a 09 57 49 5a 5f 42 4f 44 59 43 58 20 3d ,...WIZ_BODYCX = 0d70: 20 31 38 34 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 184..}....enum 0d80: 7b 0d 0a 09 50 52 4f 50 5f 53 4d 5f 43 58 44 4c {...PROP_SM_CXDL 0d90: 47 20 20 3d 20 32 31 32 2c 0d 0a 09 50 52 4f 50 G = 212,...PROP 0da0: 5f 53 4d 5f 43 59 44 4c 47 20 20 3d 20 31 38 38 _SM_CYDLG = 188 0db0: 2c 0d 0a 09 50 52 4f 50 5f 4d 45 44 5f 43 58 44 ,...PROP_MED_CXD 0dc0: 4c 47 20 3d 20 32 32 37 2c 0d 0a 09 50 52 4f 50 LG = 227,...PROP 0dd0: 5f 4d 45 44 5f 43 59 44 4c 47 20 3d 20 32 31 35 _MED_CYDLG = 215 0de0: 2c 0d 0a 09 50 52 4f 50 5f 4c 47 5f 43 58 44 4c ,...PROP_LG_CXDL 0df0: 47 20 20 3d 20 32 35 32 2c 0d 0a 09 50 52 4f 50 G = 252,...PROP 0e00: 5f 4c 47 5f 43 59 44 4c 47 20 20 3d 20 32 31 38 _LG_CYDLG = 218 0e10: 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d 20 7b 0d 0a 09 ..}....enum {... 0e20: 50 53 42 54 4e 5f 42 41 43 4b 2c 0d 0a 09 50 53 PSBTN_BACK,...PS 0e30: 42 54 4e 5f 4e 45 58 54 2c 0d 0a 09 50 53 42 54 BTN_NEXT,...PSBT 0e40: 4e 5f 46 49 4e 49 53 48 2c 0d 0a 09 50 53 42 54 N_FINISH,...PSBT 0e50: 4e 5f 4f 4b 2c 0d 0a 09 50 53 42 54 4e 5f 41 50 N_OK,...PSBTN_AP 0e60: 50 4c 59 4e 4f 57 2c 0d 0a 09 50 53 42 54 4e 5f PLYNOW,...PSBTN_ 0e70: 43 41 4e 43 45 4c 2c 0d 0a 09 50 53 42 54 4e 5f CANCEL,...PSBTN_ 0e80: 48 45 4c 50 2c 0d 0a 09 50 53 42 54 4e 5f 4d 41 HELP,...PSBTN_MA 0e90: 58 20 3d 20 36 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d X = 6..}....enum 0ea0: 20 7b 0d 0a 09 50 53 57 49 5a 42 5f 42 41 43 4b {...PSWIZB_BACK 0eb0: 20 20 20 20 20 20 20 20 20 20 20 3d 20 31 2c 0d = 1,. 0ec0: 0a 09 50 53 57 49 5a 42 5f 4e 45 58 54 20 20 20 ..PSWIZB_NEXT 0ed0: 20 20 20 20 20 20 20 20 3d 20 32 2c 0d 0a 09 50 = 2,...P 0ee0: 53 57 49 5a 42 5f 46 49 4e 49 53 48 20 20 20 20 SWIZB_FINISH 0ef0: 20 20 20 20 20 3d 20 34 2c 0d 0a 09 50 53 57 49 = 4,...PSWI 0f00: 5a 42 5f 44 49 53 41 42 4c 45 44 46 49 4e 49 53 ZB_DISABLEDFINIS 0f10: 48 20 3d 20 38 0d 0a 7d 0d 0a 0d 0a 65 6e 75 6d H = 8..}....enum 0f20: 20 7b 0d 0a 09 50 53 4d 5f 53 45 54 43 55 52 53 {...PSM_SETCURS 0f30: 45 4c 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 EL = WM_USER + 1 0f40: 30 31 2c 0d 0a 09 50 53 4d 5f 52 45 4d 4f 56 45 01,...PSM_REMOVE 0f50: 50 41 47 45 2c 0d 0a 09 50 53 4d 5f 41 44 44 50 PAGE,...PSM_ADDP 0f60: 41 47 45 2c 0d 0a 09 50 53 4d 5f 43 48 41 4e 47 AGE,...PSM_CHANG 0f70: 45 44 2c 0d 0a 09 50 53 4d 5f 52 45 53 54 41 52 ED,...PSM_RESTAR 0f80: 54 57 49 4e 44 4f 57 53 2c 0d 0a 09 50 53 4d 5f TWINDOWS,...PSM_ 0f90: 52 45 42 4f 4f 54 53 59 53 54 45 4d 2c 0d 0a 09 REBOOTSYSTEM,... 0fa0: 50 53 4d 5f 43 41 4e 43 45 4c 54 4f 43 4c 4f 53 PSM_CANCELTOCLOS 0fb0: 45 2c 0d 0a 09 50 53 4d 5f 51 55 45 52 59 53 49 E,...PSM_QUERYSI 0fc0: 42 4c 49 4e 47 53 2c 0d 0a 09 50 53 4d 5f 55 4e BLINGS,...PSM_UN 0fd0: 43 48 41 4e 47 45 44 2c 0d 0a 09 50 53 4d 5f 41 CHANGED,...PSM_A 0fe0: 50 50 4c 59 2c 0d 0a 09 50 53 4d 5f 53 45 54 54 PPLY,...PSM_SETT 0ff0: 49 54 4c 45 41 2c 0d 0a 09 50 53 4d 5f 53 45 54 ITLEA,...PSM_SET 1000: 57 49 5a 42 55 54 54 4f 4e 53 2c 0d 0a 09 50 53 WIZBUTTONS,...PS 1010: 4d 5f 50 52 45 53 53 42 55 54 54 4f 4e 2c 0d 0a M_PRESSBUTTON,.. 1020: 09 50 53 4d 5f 53 45 54 43 55 52 53 45 4c 49 44 .PSM_SETCURSELID 1030: 2c 0d 0a 09 50 53 4d 5f 53 45 54 46 49 4e 49 53 ,...PSM_SETFINIS 1040: 48 54 45 58 54 41 2c 0d 0a 09 50 53 4d 5f 47 45 HTEXTA,...PSM_GE 1050: 54 54 41 42 43 4f 4e 54 52 4f 4c 2c 0d 0a 09 50 TTABCONTROL,...P 1060: 53 4d 5f 49 53 44 49 41 4c 4f 47 4d 45 53 53 41 SM_ISDIALOGMESSA 1070: 47 45 2c 0d 0a 09 50 53 4d 5f 47 45 54 43 55 52 GE,...PSM_GETCUR 1080: 52 45 4e 54 50 41 47 45 48 57 4e 44 2c 0d 0a 09 RENTPAGEHWND,... 1090: 50 53 4d 5f 49 4e 53 45 52 54 50 41 47 45 2c 0d PSM_INSERTPAGE,. 10a0: 0a 09 50 53 4d 5f 53 45 54 54 49 54 4c 45 57 2c ..PSM_SETTITLEW, 10b0: 0d 0a 09 50 53 4d 5f 53 45 54 46 49 4e 49 53 48 ...PSM_SETFINISH 10c0: 54 45 58 54 57 20 2f 2f 20 3d 20 57 4d 5f 55 53 TEXTW // = WM_US 10d0: 45 52 20 2b 20 31 32 31 2c 0d 0a 7d 0d 0a 0d 0a ER + 121,..}.... 10e0: 61 6c 69 61 73 20 55 49 4e 54 20 66 75 6e 63 74 alias UINT funct 10f0: 69 6f 6e 28 48 57 4e 44 2c 20 55 49 4e 54 2c 20 ion(HWND, UINT, 1100: 4c 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 LPPROPSHEETPAGEA 1110: 29 20 4c 50 46 4e 50 53 50 43 41 4c 4c 42 41 43 ) LPFNPSPCALLBAC 1120: 4b 41 3b 0d 0a 61 6c 69 61 73 20 55 49 4e 54 20 KA;..alias UINT 1130: 66 75 6e 63 74 69 6f 6e 28 48 57 4e 44 2c 20 55 function(HWND, U 1140: 49 4e 54 2c 20 4c 50 50 52 4f 50 53 48 45 45 54 INT, LPPROPSHEET 1150: 50 41 47 45 57 29 20 4c 50 46 4e 50 53 50 43 41 PAGEW) LPFNPSPCA 1160: 4c 4c 42 41 43 4b 57 3b 0d 0a 61 6c 69 61 73 20 LLBACKW;..alias 1170: 69 6e 74 20 66 75 6e 63 74 69 6f 6e 28 48 57 4e int function(HWN 1180: 44 2c 20 55 49 4e 54 2c 20 4c 50 41 52 41 4d 29 D, UINT, LPARAM) 1190: 20 50 46 4e 50 52 4f 50 53 48 45 45 54 43 41 4c PFNPROPSHEETCAL 11a0: 4c 42 41 43 4b 3b 0d 0a 0d 0a 61 6c 69 67 6e 28 LBACK;....align( 11b0: 34 29 3a 0d 0a 0d 0a 73 74 72 75 63 74 20 50 52 4):....struct PR 11c0: 4f 50 53 48 45 45 54 50 41 47 45 41 20 7b 0d 0a OPSHEETPAGEA {.. 11d0: 09 44 57 4f 52 44 20 64 77 53 69 7a 65 20 3d 20 .DWORD dwSize = 11e0: 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 2e 73 PROPSHEETPAGEA.s 11f0: 69 7a 65 6f 66 3b 0d 0a 09 44 57 4f 52 44 20 64 izeof;...DWORD d 1200: 77 46 6c 61 67 73 3b 0d 0a 09 48 49 4e 53 54 41 wFlags;...HINSTA 1210: 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 3b 0d 0a NCE hInstance;.. 1220: 09 75 6e 69 6f 6e 20 7b 0d 0a 09 09 4c 50 43 53 .union {....LPCS 1230: 54 52 20 20 20 20 20 20 20 20 20 70 73 7a 54 65 TR pszTe 1240: 6d 70 6c 61 74 65 3b 0d 0a 09 09 4c 50 43 44 4c mplate;....LPCDL 1250: 47 54 45 4d 50 4c 41 54 45 20 70 52 65 73 6f 75 GTEMPLATE pResou 1260: 72 63 65 3b 0d 0a 09 7d 0d 0a 09 75 6e 69 6f 6e rce;...}...union 1270: 20 7b 0d 0a 09 09 48 49 43 4f 4e 20 20 68 49 63 {....HICON hIc 1280: 6f 6e 3b 0d 0a 09 09 4c 50 43 53 54 52 20 70 73 on;....LPCSTR ps 1290: 7a 49 63 6f 6e 3b 0d 0a 09 7d 0d 0a 09 4c 50 43 zIcon;...}...LPC 12a0: 53 54 52 20 20 70 73 7a 54 69 74 6c 65 3b 0d 0a STR pszTitle;.. 12b0: 09 44 4c 47 50 52 4f 43 20 70 66 6e 44 6c 67 50 .DLGPROC pfnDlgP 12c0: 72 6f 63 3b 0d 0a 09 4c 50 41 52 41 4d 20 20 6c roc;...LPARAM l 12d0: 50 61 72 61 6d 3b 0d 0a 09 4c 50 46 4e 50 53 50 Param;...LPFNPSP 12e0: 43 41 4c 4c 42 41 43 4b 41 20 70 66 6e 43 61 6c CALLBACKA pfnCal 12f0: 6c 62 61 63 6b 3b 0d 0a 09 55 49 4e 54 2a 20 20 lback;...UINT* 1300: 20 20 20 70 63 52 65 66 50 61 72 65 6e 74 3b 0d pcRefParent;. 1310: 0a 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 ..static if (_WI 1320: 4e 33 32 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 N32_IE >= 0x400) 1330: 20 7b 0d 0a 09 09 4c 50 43 53 54 52 20 70 73 7a {....LPCSTR psz 1340: 48 65 61 64 65 72 54 69 74 6c 65 3b 0d 0a 09 09 HeaderTitle;.... 1350: 4c 50 43 53 54 52 20 70 73 7a 48 65 61 64 65 72 LPCSTR pszHeader 1360: 53 75 62 54 69 74 6c 65 3b 0d 0a 09 7d 0d 0a 7d SubTitle;...}..} 1370: 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 ..alias PROPSHEE 1380: 54 50 41 47 45 41 2a 20 20 20 20 20 20 20 20 4c TPAGEA* L 1390: 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 3b PPROPSHEETPAGEA; 13a0: 0d 0a 61 6c 69 61 73 20 63 6f 6e 73 74 28 50 52 ..alias const(PR 13b0: 4f 50 53 48 45 45 54 50 41 47 45 41 29 2a 20 4c OPSHEETPAGEA)* L 13c0: 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 PCPROPSHEETPAGEA 13d0: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 50 52 4f 50 ;....struct PROP 13e0: 53 48 45 45 54 50 41 47 45 57 20 7b 0d 0a 09 44 SHEETPAGEW {...D 13f0: 57 4f 52 44 20 20 20 20 20 64 77 53 69 7a 65 20 WORD dwSize 1400: 3d 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 = PROPSHEETPAGEW 1410: 2e 73 69 7a 65 6f 66 3b 0d 0a 09 44 57 4f 52 44 .sizeof;...DWORD 1420: 20 20 20 20 20 64 77 46 6c 61 67 73 3b 0d 0a 09 dwFlags;... 1430: 48 49 4e 53 54 41 4e 43 45 20 68 49 6e 73 74 61 HINSTANCE hInsta 1440: 6e 63 65 3b 0d 0a 09 75 6e 69 6f 6e 20 7b 0d 0a nce;...union {.. 1450: 09 09 4c 50 43 57 53 54 52 20 20 20 20 20 20 20 ..LPCWSTR 1460: 20 70 73 7a 54 65 6d 70 6c 61 74 65 3b 0d 0a 09 pszTemplate;... 1470: 09 4c 50 43 44 4c 47 54 45 4d 50 4c 41 54 45 20 .LPCDLGTEMPLATE 1480: 70 52 65 73 6f 75 72 63 65 3b 0d 0a 09 7d 0d 0a pResource;...}.. 1490: 09 75 6e 69 6f 6e 20 7b 0d 0a 09 09 48 49 43 4f .union {....HICO 14a0: 4e 20 20 20 68 49 63 6f 6e 3b 0d 0a 09 09 4c 50 N hIcon;....LP 14b0: 43 57 53 54 52 20 70 73 7a 49 63 6f 6e 3b 0d 0a CWSTR pszIcon;.. 14c0: 09 7d 0d 0a 09 4c 50 43 57 53 54 52 20 20 20 70 .}...LPCWSTR p 14d0: 73 7a 54 69 74 6c 65 3b 0d 0a 09 44 4c 47 50 52 szTitle;...DLGPR 14e0: 4f 43 20 20 20 70 66 6e 44 6c 67 50 72 6f 63 3b OC pfnDlgProc; 14f0: 0d 0a 09 4c 50 41 52 41 4d 20 20 20 20 6c 50 61 ...LPARAM lPa 1500: 72 61 6d 3b 0d 0a 09 4c 50 46 4e 50 53 50 43 41 ram;...LPFNPSPCA 1510: 4c 4c 42 41 43 4b 57 20 70 66 6e 43 61 6c 6c 62 LLBACKW pfnCallb 1520: 61 63 6b 3b 0d 0a 09 55 49 4e 54 2a 20 20 20 20 ack;...UINT* 1530: 20 70 63 52 65 66 50 61 72 65 6e 74 3b 0d 0a 09 pcRefParent;... 1540: 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e 33 static if (_WIN3 1550: 32 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 20 7b 2_IE >= 0x400) { 1560: 0d 0a 09 09 4c 50 43 57 53 54 52 20 70 73 7a 48 ....LPCWSTR pszH 1570: 65 61 64 65 72 54 69 74 6c 65 3b 0d 0a 09 09 4c eaderTitle;....L 1580: 50 43 57 53 54 52 20 70 73 7a 48 65 61 64 65 72 PCWSTR pszHeader 1590: 53 75 62 54 69 74 6c 65 3b 0d 0a 09 7d 0d 0a 7d SubTitle;...}..} 15a0: 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 ..alias PROPSHEE 15b0: 54 50 41 47 45 57 2a 20 20 20 20 20 20 20 20 4c TPAGEW* L 15c0: 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 3b PPROPSHEETPAGEW; 15d0: 0d 0a 61 6c 69 61 73 20 63 6f 6e 73 74 28 50 52 ..alias const(PR 15e0: 4f 50 53 48 45 45 54 50 41 47 45 57 29 2a 20 4c OPSHEETPAGEW)* L 15f0: 50 43 50 52 4f 50 53 48 45 45 54 50 41 47 45 57 PCPROPSHEETPAGEW 1600: 3b 0d 0a 0d 0a 6d 69 78 69 6e 20 44 45 43 4c 41 ;....mixin DECLA 1610: 52 45 5f 48 41 4e 44 4c 45 21 28 22 48 50 52 4f RE_HANDLE!("HPRO 1620: 50 53 48 45 45 54 50 41 47 45 22 29 3b 0d 0a 0d PSHEETPAGE");... 1630: 0a 73 74 72 75 63 74 20 50 52 4f 50 53 48 45 45 .struct PROPSHEE 1640: 54 48 45 41 44 45 52 41 20 7b 0d 0a 09 44 57 4f THEADERA {...DWO 1650: 52 44 20 64 77 53 69 7a 65 20 3d 20 50 52 4f 50 RD dwSize = PROP 1660: 53 48 45 45 54 48 45 41 44 45 52 41 2e 73 69 7a SHEETHEADERA.siz 1670: 65 6f 66 3b 0d 0a 09 44 57 4f 52 44 20 64 77 46 eof;...DWORD dwF 1680: 6c 61 67 73 3b 0d 0a 09 48 57 4e 44 20 20 68 77 lags;...HWND hw 1690: 6e 64 50 61 72 65 6e 74 3b 0d 0a 09 48 49 4e 53 ndParent;...HINS 16a0: 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 3b TANCE hInstance; 16b0: 0d 0a 09 75 6e 69 6f 6e 20 7b 0d 0a 09 09 48 49 ...union {....HI 16c0: 43 4f 4e 20 20 20 68 49 63 6f 6e 3b 0d 0a 09 09 CON hIcon;.... 16d0: 4c 50 43 53 54 52 20 20 70 73 7a 49 63 6f 6e 3b LPCSTR pszIcon; 16e0: 0d 0a 09 7d 0d 0a 09 4c 50 43 53 54 52 20 70 73 ...}...LPCSTR ps 16f0: 7a 43 61 70 74 69 6f 6e 3b 0d 0a 09 55 49 4e 54 zCaption;...UINT 1700: 20 20 20 6e 50 61 67 65 73 3b 0d 0a 09 75 6e 69 nPages;...uni 1710: 6f 6e 20 7b 0d 0a 09 09 55 49 4e 54 20 20 20 6e on {....UINT n 1720: 53 74 61 72 74 50 61 67 65 3b 0d 0a 09 09 4c 50 StartPage;....LP 1730: 43 53 54 52 20 70 53 74 61 72 74 50 61 67 65 3b CSTR pStartPage; 1740: 0d 0a 09 7d 0d 0a 09 75 6e 69 6f 6e 20 7b 0d 0a ...}...union {.. 1750: 09 09 4c 50 43 50 52 4f 50 53 48 45 45 54 50 41 ..LPCPROPSHEETPA 1760: 47 45 41 20 70 70 73 70 3b 0d 0a 09 09 48 50 52 GEA ppsp;....HPR 1770: 4f 50 53 48 45 45 54 50 41 47 45 2a 20 20 20 70 OPSHEETPAGE* p 1780: 68 70 61 67 65 3b 0d 0a 09 7d 0d 0a 09 50 46 4e hpage;...}...PFN 1790: 50 52 4f 50 53 48 45 45 54 43 41 4c 4c 42 41 43 PROPSHEETCALLBAC 17a0: 4b 20 70 66 6e 43 61 6c 6c 62 61 63 6b 3b 0d 0a K pfnCallback;.. 17b0: 09 73 74 61 74 69 63 20 69 66 20 28 5f 57 49 4e .static if (_WIN 17c0: 33 32 5f 49 45 20 3e 3d 20 30 78 34 30 30 29 20 32_IE >= 0x400) 17d0: 7b 0d 0a 09 09 75 6e 69 6f 6e 20 7b 0d 0a 09 09 {....union {.... 17e0: 09 48 42 49 54 4d 41 50 20 68 62 6d 57 61 74 65 .HBITMAP hbmWate 17f0: 72 6d 61 72 6b 3b 0d 0a 09 09 09 4c 50 43 53 54 rmark;.....LPCST 1800: 52 20 20 70 73 7a 62 6d 57 61 74 65 72 6d 61 72 R pszbmWatermar 1810: 6b 3b 0d 0a 09 09 7d 0d 0a 09 09 48 50 41 4c 45 k;....}....HPALE 1820: 54 54 45 20 68 70 6c 57 61 74 65 72 6d 61 72 6b TTE hplWatermark 1830: 3b 0d 0a 09 09 75 6e 69 6f 6e 20 7b 0d 0a 09 09 ;....union {.... 1840: 09 48 42 49 54 4d 41 50 20 68 62 6d 48 65 61 64 .HBITMAP hbmHead 1850: 65 72 3b 0d 0a 09 09 09 4c 50 43 53 54 52 20 20 er;.....LPCSTR 1860: 70 73 7a 62 6d 48 65 61 64 65 72 3b 0d 0a 09 09 pszbmHeader;.... 1870: 7d 0d 0a 09 7d 0d 0a 7d 0d 0a 61 6c 69 61 73 20 }...}..}..alias 1880: 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 PROPSHEETHEADERA 1890: 2a 20 20 20 20 20 20 20 20 4c 50 50 52 4f 50 53 * LPPROPS 18a0: 48 45 45 54 48 45 41 44 45 52 41 3b 0d 0a 61 6c HEETHEADERA;..al 18b0: 69 61 73 20 63 6f 6e 73 74 28 50 52 4f 50 53 48 ias const(PROPSH 18c0: 45 45 54 48 45 41 44 45 52 41 29 2a 20 4c 50 43 EETHEADERA)* LPC 18d0: 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 PROPSHEETHEADERA 18e0: 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 50 52 4f 50 ;....struct PROP 18f0: 53 48 45 45 54 48 45 41 44 45 52 57 20 7b 0d 0a SHEETHEADERW {.. 1900: 09 44 57 4f 52 44 20 20 20 20 20 64 77 53 69 7a .DWORD dwSiz 1910: 65 20 3d 20 50 52 4f 50 53 48 45 45 54 48 45 41 e = PROPSHEETHEA 1920: 44 45 52 57 2e 73 69 7a 65 6f 66 3b 0d 0a 09 44 DERW.sizeof;...D 1930: 57 4f 52 44 20 20 20 20 20 64 77 46 6c 61 67 73 WORD dwFlags 1940: 3b 0d 0a 09 48 57 4e 44 20 20 20 20 20 20 68 77 ;...HWND hw 1950: 6e 64 50 61 72 65 6e 74 3b 0d 0a 09 48 49 4e 53 ndParent;...HINS 1960: 54 41 4e 43 45 20 68 49 6e 73 74 61 6e 63 65 3b TANCE hInstance; 1970: 0d 0a 09 75 6e 69 6f 6e 20 7b 0d 0a 09 09 48 49 ...union {....HI 1980: 43 4f 4e 20 20 20 68 49 63 6f 6e 3b 0d 0a 09 09 CON hIcon;.... 1990: 4c 50 43 57 53 54 52 20 70 73 7a 49 63 6f 6e 3b LPCWSTR pszIcon; 19a0: 0d 0a 09 7d 0d 0a 09 4c 50 43 57 53 54 52 20 20 ...}...LPCWSTR 19b0: 20 70 73 7a 43 61 70 74 69 6f 6e 3b 0d 0a 09 55 pszCaption;...U 19c0: 49 4e 54 20 20 20 20 20 20 6e 50 61 67 65 73 3b INT nPages; 19d0: 0d 0a 09 75 6e 69 6f 6e 20 7b 0d 0a 09 09 55 49 ...union {....UI 19e0: 4e 54 20 20 20 20 6e 53 74 61 72 74 50 61 67 65 NT nStartPage 19f0: 3b 0d 0a 09 09 4c 50 43 57 53 54 52 20 70 53 74 ;....LPCWSTR pSt 1a00: 61 72 74 50 61 67 65 3b 0d 0a 09 7d 0d 0a 09 75 artPage;...}...u 1a10: 6e 69 6f 6e 20 7b 0d 0a 09 09 4c 50 43 50 52 4f nion {....LPCPRO 1a20: 50 53 48 45 45 54 50 41 47 45 57 20 70 70 73 70 PSHEETPAGEW ppsp 1a30: 3b 0d 0a 09 09 48 50 52 4f 50 53 48 45 45 54 50 ;....HPROPSHEETP 1a40: 41 47 45 2a 20 20 20 70 68 70 61 67 65 3b 0d 0a AGE* phpage;.. 1a50: 09 7d 0d 0a 09 50 46 4e 50 52 4f 50 53 48 45 45 .}...PFNPROPSHEE 1a60: 54 43 41 4c 4c 42 41 43 4b 20 70 66 6e 43 61 6c TCALLBACK pfnCal 1a70: 6c 62 61 63 6b 3b 0d 0a 09 73 74 61 74 69 63 20 lback;...static 1a80: 69 66 20 28 5f 57 49 4e 33 32 5f 49 45 20 3e 3d if (_WIN32_IE >= 1a90: 20 30 78 34 30 30 29 20 7b 0d 0a 09 09 75 6e 69 0x400) {....uni 1aa0: 6f 6e 20 7b 0d 0a 09 09 09 48 42 49 54 4d 41 50 on {.....HBITMAP 1ab0: 20 68 62 6d 57 61 74 65 72 6d 61 72 6b 3b 0d 0a hbmWatermark;.. 1ac0: 09 09 09 4c 50 43 57 53 54 52 20 70 73 7a 62 6d ...LPCWSTR pszbm 1ad0: 57 61 74 65 72 6d 61 72 6b 3b 0d 0a 09 09 7d 0d Watermark;....}. 1ae0: 0a 09 09 48 50 41 4c 45 54 54 45 20 68 70 6c 57 ...HPALETTE hplW 1af0: 61 74 65 72 6d 61 72 6b 3b 0d 0a 09 09 75 6e 69 atermark;....uni 1b00: 6f 6e 20 7b 0d 0a 09 09 09 48 42 49 54 4d 41 50 on {.....HBITMAP 1b10: 20 68 62 6d 48 65 61 64 65 72 3b 0d 0a 09 09 09 hbmHeader;..... 1b20: 4c 50 43 57 53 54 52 20 70 73 7a 62 6d 48 65 61 LPCWSTR pszbmHea 1b30: 64 65 72 3b 0d 0a 09 09 7d 0d 0a 09 7d 0d 0a 7d der;....}...}..} 1b40: 0d 0a 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 ..alias PROPSHEE 1b50: 54 48 45 41 44 45 52 57 2a 20 20 20 20 20 20 20 THEADERW* 1b60: 20 4c 50 50 52 4f 50 53 48 45 45 54 48 45 41 44 LPPROPSHEETHEAD 1b70: 45 52 57 3b 0d 0a 61 6c 69 61 73 20 63 6f 6e 73 ERW;..alias cons 1b80: 74 28 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 t(PROPSHEETHEADE 1b90: 52 57 29 2a 20 4c 50 43 50 52 4f 50 53 48 45 45 RW)* LPCPROPSHEE 1ba0: 54 48 45 41 44 45 52 57 3b 0d 0a 0d 0a 61 6c 69 THEADERW;....ali 1bb0: 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e as BOOL function 1bc0: 28 48 50 52 4f 50 53 48 45 45 54 50 41 47 45 2c (HPROPSHEETPAGE, 1bd0: 20 4c 50 41 52 41 4d 29 20 4c 50 46 4e 41 44 44 LPARAM) LPFNADD 1be0: 50 52 4f 50 53 48 45 45 54 50 41 47 45 3b 0d 0a PROPSHEETPAGE;.. 1bf0: 61 6c 69 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74 alias BOOL funct 1c00: 69 6f 6e 28 4c 50 56 4f 49 44 2c 20 4c 50 46 4e ion(LPVOID, LPFN 1c10: 41 44 44 50 52 4f 50 53 48 45 45 54 50 41 47 45 ADDPROPSHEETPAGE 1c20: 2c 20 4c 50 41 52 41 4d 29 0d 0a 20 20 4c 50 46 , LPARAM).. LPF 1c30: 4e 41 44 44 50 52 4f 50 53 48 45 45 54 50 41 47 NADDPROPSHEETPAG 1c40: 45 53 3b 0d 0a 0d 0a 73 74 72 75 63 74 20 50 53 ES;....struct PS 1c50: 48 4e 4f 54 49 46 59 20 7b 0d 0a 09 4e 4d 48 44 HNOTIFY {...NMHD 1c60: 52 20 20 68 64 72 3b 0d 0a 09 4c 50 41 52 41 4d R hdr;...LPARAM 1c70: 20 6c 50 61 72 61 6d 3b 0d 0a 7d 0d 0a 61 6c 69 lParam;..}..ali 1c80: 61 73 20 50 53 48 4e 4f 54 49 46 59 2a 20 4c 50 as PSHNOTIFY* LP 1c90: 50 53 48 4e 4f 54 49 46 59 3b 0d 0a 0d 0a 65 78 PSHNOTIFY;....ex 1ca0: 74 65 72 6e 20 28 57 69 6e 64 6f 77 73 29 20 7b tern (Windows) { 1cb0: 0d 0a 09 48 50 52 4f 50 53 48 45 45 54 50 41 47 ...HPROPSHEETPAG 1cc0: 45 20 43 72 65 61 74 65 50 72 6f 70 65 72 74 79 E CreateProperty 1cd0: 53 68 65 65 74 50 61 67 65 41 28 4c 50 43 50 52 SheetPageA(LPCPR 1ce0: 4f 50 53 48 45 45 54 50 41 47 45 41 29 3b 0d 0a OPSHEETPAGEA);.. 1cf0: 09 48 50 52 4f 50 53 48 45 45 54 50 41 47 45 20 .HPROPSHEETPAGE 1d00: 43 72 65 61 74 65 50 72 6f 70 65 72 74 79 53 68 CreatePropertySh 1d10: 65 65 74 50 61 67 65 57 28 4c 50 43 50 52 4f 50 eetPageW(LPCPROP 1d20: 53 48 45 45 54 50 41 47 45 57 29 3b 0d 0a 09 42 SHEETPAGEW);...B 1d30: 4f 4f 4c 20 44 65 73 74 72 6f 79 50 72 6f 70 65 OOL DestroyPrope 1d40: 72 74 79 53 68 65 65 74 50 61 67 65 28 48 50 52 rtySheetPage(HPR 1d50: 4f 50 53 48 45 45 54 50 41 47 45 29 3b 0d 0a 09 OPSHEETPAGE);... 1d60: 69 6e 74 20 50 72 6f 70 65 72 74 79 53 68 65 65 int PropertyShee 1d70: 74 41 28 4c 50 43 50 52 4f 50 53 48 45 45 54 48 tA(LPCPROPSHEETH 1d80: 45 41 44 45 52 41 29 3b 0d 0a 09 69 6e 74 20 50 EADERA);...int P 1d90: 72 6f 70 65 72 74 79 53 68 65 65 74 57 28 4c 50 ropertySheetW(LP 1da0: 43 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 CPROPSHEETHEADER 1db0: 57 29 3b 0d 0a 7d 0d 0a 0d 0a 76 65 72 73 69 6f W);..}....versio 1dc0: 6e 20 28 55 6e 69 63 6f 64 65 29 20 7b 0d 0a 09 n (Unicode) {... 1dd0: 61 6c 69 61 73 20 4c 50 46 4e 50 53 50 43 41 4c alias LPFNPSPCAL 1de0: 4c 42 41 43 4b 57 20 20 20 20 20 20 20 20 20 4c LBACKW L 1df0: 50 46 4e 50 53 50 43 41 4c 4c 42 41 43 4b 3b 0d PFNPSPCALLBACK;. 1e00: 0a 09 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 ..alias PROPSHEE 1e10: 54 50 41 47 45 57 20 20 20 20 20 20 20 20 20 20 TPAGEW 1e20: 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 3b 0d PROPSHEETPAGE;. 1e30: 0a 09 61 6c 69 61 73 20 4c 50 50 52 4f 50 53 48 ..alias LPPROPSH 1e40: 45 45 54 50 41 47 45 57 20 20 20 20 20 20 20 20 EETPAGEW 1e50: 20 4c 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 LPPROPSHEETPAGE 1e60: 3b 0d 0a 09 61 6c 69 61 73 20 4c 50 43 50 52 4f ;...alias LPCPRO 1e70: 50 53 48 45 45 54 50 41 47 45 57 20 20 20 20 20 PSHEETPAGEW 1e80: 20 20 20 4c 50 43 50 52 4f 50 53 48 45 45 54 50 LPCPROPSHEETP 1e90: 41 47 45 3b 0d 0a 09 61 6c 69 61 73 20 50 52 4f AGE;...alias PRO 1ea0: 50 53 48 45 45 54 48 45 41 44 45 52 57 20 20 20 PSHEETHEADERW 1eb0: 20 20 20 20 20 20 50 52 4f 50 53 48 45 45 54 48 PROPSHEETH 1ec0: 45 41 44 45 52 3b 0d 0a 09 61 6c 69 61 73 20 4c EADER;...alias L 1ed0: 50 50 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 PPROPSHEETHEADER 1ee0: 57 20 20 20 20 20 20 20 4c 50 50 52 4f 50 53 48 W LPPROPSH 1ef0: 45 45 54 48 45 41 44 45 52 3b 0d 0a 09 61 6c 69 EETHEADER;...ali 1f00: 61 73 20 4c 50 43 50 52 4f 50 53 48 45 45 54 48 as LPCPROPSHEETH 1f10: 45 41 44 45 52 57 20 20 20 20 20 20 4c 50 43 50 EADERW LPCP 1f20: 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 3b 0d ROPSHEETHEADER;. 1f30: 0a 09 61 6c 69 61 73 20 50 53 4d 5f 53 45 54 54 ..alias PSM_SETT 1f40: 49 54 4c 45 57 20 20 20 20 20 20 20 20 20 20 20 ITLEW 1f50: 20 50 53 4d 5f 53 45 54 54 49 54 4c 45 3b 0d 0a PSM_SETTITLE;.. 1f60: 09 61 6c 69 61 73 20 50 53 4d 5f 53 45 54 46 49 .alias PSM_SETFI 1f70: 4e 49 53 48 54 45 58 54 57 20 20 20 20 20 20 20 NISHTEXTW 1f80: 50 53 4d 5f 53 45 54 46 49 4e 49 53 48 54 45 58 PSM_SETFINISHTEX 1f90: 54 3b 0d 0a 09 61 6c 69 61 73 20 43 72 65 61 74 T;...alias Creat 1fa0: 65 50 72 6f 70 65 72 74 79 53 68 65 65 74 50 61 ePropertySheetPa 1fb0: 67 65 57 20 43 72 65 61 74 65 50 72 6f 70 65 72 geW CreateProper 1fc0: 74 79 53 68 65 65 74 50 61 67 65 3b 0d 0a 09 61 tySheetPage;...a 1fd0: 6c 69 61 73 20 50 72 6f 70 65 72 74 79 53 68 65 lias PropertyShe 1fe0: 65 74 57 20 20 20 20 20 20 20 20 20 20 20 50 72 etW Pr 1ff0: 6f 70 65 72 74 79 53 68 65 65 74 3b 0d 0a 7d 20 opertySheet;..} 2000: 65 6c 73 65 20 7b 0d 0a 09 61 6c 69 61 73 20 4c else {...alias L 2010: 50 46 4e 50 53 50 43 41 4c 4c 42 41 43 4b 41 20 PFNPSPCALLBACKA 2020: 20 20 20 20 20 20 20 20 4c 50 46 4e 50 53 50 43 LPFNPSPC 2030: 41 4c 4c 42 41 43 4b 3b 0d 0a 09 61 6c 69 61 73 ALLBACK;...alias 2040: 20 50 52 4f 50 53 48 45 45 54 50 41 47 45 41 20 PROPSHEETPAGEA 2050: 20 20 20 20 20 20 20 20 20 20 50 52 4f 50 53 48 PROPSH 2060: 45 45 54 50 41 47 45 3b 0d 0a 09 61 6c 69 61 73 EETPAGE;...alias 2070: 20 4c 50 50 52 4f 50 53 48 45 45 54 50 41 47 45 LPPROPSHEETPAGE 2080: 41 20 20 20 20 20 20 20 20 20 4c 50 50 52 4f 50 A LPPROP 2090: 53 48 45 45 54 50 41 47 45 3b 0d 0a 09 61 6c 69 SHEETPAGE;...ali 20a0: 61 73 20 4c 50 43 50 52 4f 50 53 48 45 45 54 50 as LPCPROPSHEETP 20b0: 41 47 45 41 20 20 20 20 20 20 20 20 4c 50 43 50 AGEA LPCP 20c0: 52 4f 50 53 48 45 45 54 50 41 47 45 3b 0d 0a 09 ROPSHEETPAGE;... 20d0: 61 6c 69 61 73 20 50 52 4f 50 53 48 45 45 54 48 alias PROPSHEETH 20e0: 45 41 44 45 52 41 20 20 20 20 20 20 20 20 20 50 EADERA P 20f0: 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 3b 0d ROPSHEETHEADER;. 2100: 0a 09 61 6c 69 61 73 20 4c 50 50 52 4f 50 53 48 ..alias LPPROPSH 2110: 45 45 54 48 45 41 44 45 52 41 20 20 20 20 20 20 EETHEADERA 2120: 20 4c 50 50 52 4f 50 53 48 45 45 54 48 45 41 44 LPPROPSHEETHEAD 2130: 45 52 3b 0d 0a 09 61 6c 69 61 73 20 4c 50 43 50 ER;...alias LPCP 2140: 52 4f 50 53 48 45 45 54 48 45 41 44 45 52 41 20 ROPSHEETHEADERA 2150: 20 20 20 20 20 4c 50 43 50 52 4f 50 53 48 45 45 LPCPROPSHEE 2160: 54 48 45 41 44 45 52 3b 0d 0a 09 61 6c 69 61 73 THEADER;...alias 2170: 20 50 53 4d 5f 53 45 54 54 49 54 4c 45 41 20 20 PSM_SETTITLEA 2180: 20 20 20 20 20 20 20 20 20 20 50 53 4d 5f 53 45 PSM_SE 2190: 54 54 49 54 4c 45 3b 0d 0a 09 61 6c 69 61 73 20 TTITLE;...alias 21a0: 50 53 4d 5f 53 45 54 46 49 4e 49 53 48 54 45 58 PSM_SETFINISHTEX 21b0: 54 41 20 20 20 20 20 20 20 50 53 4d 5f 53 45 54 TA PSM_SET 21c0: 46 49 4e 49 53 48 54 45 58 54 3b 0d 0a 09 61 6c FINISHTEXT;...al 21d0: 69 61 73 20 43 72 65 61 74 65 50 72 6f 70 65 72 ias CreateProper 21e0: 74 79 53 68 65 65 74 50 61 67 65 41 20 43 72 65 tySheetPageA Cre 21f0: 61 74 65 50 72 6f 70 65 72 74 79 53 68 65 65 74 atePropertySheet 2200: 50 61 67 65 3b 0d 0a 09 61 6c 69 61 73 20 50 72 Page;...alias Pr 2210: 6f 70 65 72 74 79 53 68 65 65 74 41 20 20 20 20 opertySheetA 2220: 20 20 20 20 20 20 20 50 72 6f 70 65 72 74 79 53 PropertyS 2230: 68 65 65 74 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c heet;..}....BOOL 2240: 20 50 72 6f 70 53 68 65 65 74 5f 53 65 74 43 75 PropSheet_SetCu 2250: 72 53 65 6c 28 48 57 4e 44 20 68 50 72 6f 70 53 rSel(HWND hPropS 2260: 68 65 65 74 44 6c 67 2c 20 48 50 52 4f 50 53 48 heetDlg, HPROPSH 2270: 45 45 54 50 41 47 45 20 68 70 61 67 65 2c 0d 0a EETPAGE hpage,.. 2280: 09 20 20 48 50 52 4f 50 53 48 45 45 54 50 41 47 . HPROPSHEETPAG 2290: 45 20 69 6e 64 65 78 29 20 7b 0d 0a 09 72 65 74 E index) {...ret 22a0: 75 72 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 urn cast(BOOL) S 22b0: 65 6e 64 4d 65 73 73 61 67 65 28 68 50 72 6f 70 endMessage(hProp 22c0: 53 68 65 65 74 44 6c 67 2c 20 50 53 4d 5f 53 45 SheetDlg, PSM_SE 22d0: 54 43 55 52 53 45 4c 2c 0d 0a 09 20 20 63 61 73 TCURSEL,... cas 22e0: 74 28 57 50 41 52 41 4d 29 20 69 6e 64 65 78 2c t(WPARAM) index, 22f0: 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 68 70 cast(LPARAM) hp 2300: 61 67 65 29 3b 0d 0a 7d 0d 0a 0d 0a 56 4f 49 44 age);..}....VOID 2310: 20 50 72 6f 70 53 68 65 65 74 5f 52 65 6d 6f 76 PropSheet_Remov 2320: 65 50 61 67 65 28 48 57 4e 44 20 68 50 72 6f 70 ePage(HWND hProp 2330: 53 68 65 65 74 44 6c 67 2c 20 69 6e 74 20 69 6e SheetDlg, int in 2340: 64 65 78 2c 20 48 50 52 4f 50 53 48 45 45 54 50 dex, HPROPSHEETP 2350: 41 47 45 20 68 70 61 67 65 29 20 7b 0d 0a 09 53 AGE hpage) {...S 2360: 65 6e 64 4d 65 73 73 61 67 65 28 68 50 72 6f 70 endMessage(hProp 2370: 53 68 65 65 74 44 6c 67 2c 20 50 53 4d 5f 52 45 SheetDlg, PSM_RE 2380: 4d 4f 56 45 50 41 47 45 2c 20 69 6e 64 65 78 2c MOVEPAGE, index, 2390: 20 63 61 73 74 28 4c 50 41 52 41 4d 29 20 68 70 cast(LPARAM) hp 23a0: 61 67 65 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c age);..}....BOOL 23b0: 20 50 72 6f 70 53 68 65 65 74 5f 41 64 64 50 61 PropSheet_AddPa 23c0: 67 65 28 48 57 4e 44 20 68 50 72 6f 70 53 68 65 ge(HWND hPropShe 23d0: 65 74 44 6c 67 2c 20 48 50 52 4f 50 53 48 45 45 etDlg, HPROPSHEE 23e0: 54 50 41 47 45 20 68 70 61 67 65 29 20 7b 0d 0a TPAGE hpage) {.. 23f0: 09 09 72 65 74 75 72 6e 20 63 61 73 74 28 42 4f ..return cast(BO 2400: 4f 4c 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 OL) SendMessage( 2410: 68 50 72 6f 70 53 68 65 65 74 44 6c 67 2c 20 50 hPropSheetDlg, P 2420: 53 4d 5f 41 44 44 50 41 47 45 2c 0d 0a 09 09 20 SM_ADDPAGE,.... 2430: 20 30 2c 20 63 61 73 74 28 4c 50 41 52 41 4d 29 0, cast(LPARAM) 2440: 20 68 70 61 67 65 29 3b 0d 0a 7d 0d 0a 0d 0a 56 hpage);..}....V 2450: 4f 49 44 20 50 72 6f 70 53 68 65 65 74 5f 43 68 OID PropSheet_Ch 2460: 61 6e 67 65 64 28 48 57 4e 44 20 68 50 72 6f 70 anged(HWND hProp 2470: 53 68 65 65 74 44 6c 67 2c 20 48 57 4e 44 20 68 SheetDlg, HWND h 2480: 77 6e 64 50 61 67 65 29 20 7b 0d 0a 09 53 65 6e wndPage) {...Sen 2490: 64 4d 65 73 73 61 67 65 28 68 50 72 6f 70 53 68 dMessage(hPropSh 24a0: 65 65 74 44 6c 67 2c 20 50 53 4d 5f 43 48 41 4e eetDlg, PSM_CHAN 24b0: 47 45 44 2c 20 63 61 73 74 28 57 50 41 52 41 4d GED, cast(WPARAM 24c0: 29 20 68 77 6e 64 50 61 67 65 2c 20 30 29 3b 0d ) hwndPage, 0);. 24d0: 0a 7d 0d 0a 0d 0a 56 4f 49 44 20 50 72 6f 70 53 .}....VOID PropS 24e0: 68 65 65 74 5f 52 65 73 74 61 72 74 57 69 6e 64 heet_RestartWind 24f0: 6f 77 73 28 48 57 4e 44 20 68 50 72 6f 70 53 68 ows(HWND hPropSh 2500: 65 65 74 44 6c 67 29 20 7b 0d 0a 09 53 65 6e 64 eetDlg) {...Send 2510: 4d 65 73 73 61 67 65 28 68 50 72 6f 70 53 68 65 Message(hPropShe 2520: 65 74 44 6c 67 2c 20 50 53 4d 5f 52 45 53 54 41 etDlg, PSM_RESTA 2530: 52 54 57 49 4e 44 4f 57 53 2c 20 30 2c 20 30 29 RTWINDOWS, 0, 0) 2540: 3b 0d 0a 7d 0d 0a 0d 0a 56 4f 49 44 20 50 72 6f ;..}....VOID Pro 2550: 70 53 68 65 65 74 5f 52 65 62 6f 6f 74 53 79 73 pSheet_RebootSys 2560: 74 65 6d 28 48 57 4e 44 20 68 50 72 6f 70 53 68 tem(HWND hPropSh 2570: 65 65 74 44 6c 67 29 20 7b 0d 0a 09 53 65 6e 64 eetDlg) {...Send 2580: 4d 65 73 73 61 67 65 28 68 50 72 6f 70 53 68 65 Message(hPropShe 2590: 65 74 44 6c 67 2c 20 50 53 4d 5f 52 45 42 4f 4f etDlg, PSM_REBOO 25a0: 54 53 59 53 54 45 4d 2c 20 30 2c 20 30 29 3b 0d TSYSTEM, 0, 0);. 25b0: 0a 7d 0d 0a 0d 0a 56 4f 49 44 20 50 72 6f 70 53 .}....VOID PropS 25c0: 68 65 65 74 5f 43 61 6e 63 65 6c 54 6f 43 6c 6f heet_CancelToClo 25d0: 73 65 28 48 57 4e 44 20 68 50 72 6f 70 53 68 65 se(HWND hPropShe 25e0: 65 74 44 6c 67 29 20 7b 0d 0a 09 53 65 6e 64 4d etDlg) {...SendM 25f0: 65 73 73 61 67 65 28 68 50 72 6f 70 53 68 65 65 essage(hPropShee 2600: 74 44 6c 67 2c 20 50 53 4d 5f 43 41 4e 43 45 4c tDlg, PSM_CANCEL 2610: 54 4f 43 4c 4f 53 45 2c 20 30 2c 20 30 29 3b 0d TOCLOSE, 0, 0);. 2620: 0a 7d 0d 0a 0d 0a 69 6e 74 20 50 72 6f 70 53 68 .}....int PropSh 2630: 65 65 74 5f 51 75 65 72 79 53 69 62 6c 69 6e 67 eet_QuerySibling 2640: 73 28 48 57 4e 44 20 68 50 72 6f 70 53 68 65 65 s(HWND hPropShee 2650: 74 44 6c 67 2c 20 57 50 41 52 41 4d 20 70 61 72 tDlg, WPARAM par 2660: 61 6d 31 2c 20 4c 50 41 52 41 4d 20 70 61 72 61 am1, LPARAM para 2670: 6d 32 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 m2) {...return c 2680: 61 73 74 28 69 6e 74 29 20 53 65 6e 64 4d 65 73 ast(int) SendMes 2690: 73 61 67 65 28 68 50 72 6f 70 53 68 65 65 74 44 sage(hPropSheetD 26a0: 6c 67 2c 20 50 53 4d 5f 51 55 45 52 59 53 49 42 lg, PSM_QUERYSIB 26b0: 4c 49 4e 47 53 2c 20 70 61 72 61 6d 31 2c 20 70 LINGS, param1, p 26c0: 61 72 61 6d 32 29 3b 0d 0a 7d 0d 0a 0d 0a 56 4f aram2);..}....VO 26d0: 49 44 20 50 72 6f 70 53 68 65 65 74 5f 55 6e 43 ID PropSheet_UnC 26e0: 68 61 6e 67 65 64 28 48 57 4e 44 20 68 50 72 6f hanged(HWND hPro 26f0: 70 53 68 65 65 74 44 6c 67 2c 20 48 57 4e 44 20 pSheetDlg, HWND 2700: 68 77 6e 64 50 61 67 65 29 20 7b 0d 0a 09 53 65 hwndPage) {...Se 2710: 6e 64 4d 65 73 73 61 67 65 28 68 50 72 6f 70 53 ndMessage(hPropS 2720: 68 65 65 74 44 6c 67 2c 20 50 53 4d 5f 55 4e 43 heetDlg, PSM_UNC 2730: 48 41 4e 47 45 44 2c 20 63 61 73 74 28 57 50 41 HANGED, cast(WPA 2740: 52 41 4d 29 20 68 77 6e 64 50 61 67 65 2c 20 30 RAM) hwndPage, 0 2750: 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 50 72 );..}....BOOL Pr 2760: 6f 70 53 68 65 65 74 5f 41 70 70 6c 79 28 48 57 opSheet_Apply(HW 2770: 4e 44 20 68 50 72 6f 70 53 68 65 65 74 44 6c 67 ND hPropSheetDlg 2780: 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 ) {...return cas 2790: 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 t(BOOL) SendMess 27a0: 61 67 65 28 68 50 72 6f 70 53 68 65 65 74 44 6c age(hPropSheetDl 27b0: 67 2c 20 50 53 4d 5f 41 50 50 4c 59 2c 20 30 2c g, PSM_APPLY, 0, 27c0: 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 56 4f 49 44 20 0);..}....VOID 27d0: 50 72 6f 70 53 68 65 65 74 5f 53 65 74 54 69 74 PropSheet_SetTit 27e0: 6c 65 28 48 57 4e 44 20 68 50 72 6f 70 53 68 65 le(HWND hPropShe 27f0: 65 74 44 6c 67 2c 20 44 57 4f 52 44 20 77 53 74 etDlg, DWORD wSt 2800: 79 6c 65 2c 20 4c 50 54 53 54 52 20 6c 70 73 7a yle, LPTSTR lpsz 2810: 54 65 78 74 29 20 7b 0d 0a 09 53 65 6e 64 4d 65 Text) {...SendMe 2820: 73 73 61 67 65 28 68 50 72 6f 70 53 68 65 65 74 ssage(hPropSheet 2830: 44 6c 67 2c 20 50 53 4d 5f 53 45 54 54 49 54 4c Dlg, PSM_SETTITL 2840: 45 2c 20 77 53 74 79 6c 65 2c 20 63 61 73 74 28 E, wStyle, cast( 2850: 4c 50 41 52 41 4d 29 20 6c 70 73 7a 54 65 78 74 LPARAM) lpszText 2860: 29 3b 0d 0a 7d 0d 0a 0d 0a 56 4f 49 44 20 50 72 );..}....VOID Pr 2870: 6f 70 53 68 65 65 74 5f 53 65 74 57 69 7a 42 75 opSheet_SetWizBu 2880: 74 74 6f 6e 73 28 48 57 4e 44 20 68 50 72 6f 70 ttons(HWND hProp 2890: 53 68 65 65 74 44 6c 67 2c 20 44 57 4f 52 44 20 SheetDlg, DWORD 28a0: 64 77 46 6c 61 67 73 29 20 7b 0d 0a 09 50 6f 73 dwFlags) {...Pos 28b0: 74 4d 65 73 73 61 67 65 28 68 50 72 6f 70 53 68 tMessage(hPropSh 28c0: 65 65 74 44 6c 67 2c 20 50 53 4d 5f 53 45 54 57 eetDlg, PSM_SETW 28d0: 49 5a 42 55 54 54 4f 4e 53 2c 20 30 2c 20 63 61 IZBUTTONS, 0, ca 28e0: 73 74 28 4c 50 41 52 41 4d 29 20 64 77 46 6c 61 st(LPARAM) dwFla 28f0: 67 73 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 gs);..}....BOOL 2900: 50 72 6f 70 53 68 65 65 74 5f 50 72 65 73 73 42 PropSheet_PressB 2910: 75 74 74 6f 6e 28 48 57 4e 44 20 68 50 72 6f 70 utton(HWND hProp 2920: 53 68 65 65 74 44 6c 67 2c 20 69 6e 74 20 69 42 SheetDlg, int iB 2930: 75 74 74 6f 6e 29 20 7b 0d 0a 09 72 65 74 75 72 utton) {...retur 2940: 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e n cast(BOOL) Sen 2950: 64 4d 65 73 73 61 67 65 28 68 50 72 6f 70 53 68 dMessage(hPropSh 2960: 65 65 74 44 6c 67 2c 20 50 53 4d 5f 50 52 45 53 eetDlg, PSM_PRES 2970: 53 42 55 54 54 4f 4e 2c 20 69 42 75 74 74 6f 6e SBUTTON, iButton 2980: 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c , 0);..}....BOOL 2990: 20 50 72 6f 70 53 68 65 65 74 5f 53 65 74 43 75 PropSheet_SetCu 29a0: 72 53 65 6c 42 79 49 44 28 48 57 4e 44 20 68 50 rSelByID(HWND hP 29b0: 72 6f 70 53 68 65 65 74 44 6c 67 2c 20 69 6e 74 ropSheetDlg, int 29c0: 20 69 64 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 id) {...return 29d0: 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d cast(BOOL) SendM 29e0: 65 73 73 61 67 65 28 68 50 72 6f 70 53 68 65 65 essage(hPropShee 29f0: 74 44 6c 67 2c 20 50 53 4d 5f 53 45 54 43 55 52 tDlg, PSM_SETCUR 2a00: 53 45 4c 49 44 2c 20 30 2c 20 69 64 29 3b 0d 0a SELID, 0, id);.. 2a10: 7d 0d 0a 0d 0a 56 4f 49 44 20 50 72 6f 70 53 68 }....VOID PropSh 2a20: 65 65 74 5f 53 65 74 46 69 6e 69 73 68 54 65 78 eet_SetFinishTex 2a30: 74 28 48 57 4e 44 20 68 50 72 6f 70 53 68 65 65 t(HWND hPropShee 2a40: 74 44 6c 67 2c 20 4c 50 54 53 54 52 20 6c 70 73 tDlg, LPTSTR lps 2a50: 7a 54 65 78 74 29 20 7b 0d 0a 09 53 65 6e 64 4d zText) {...SendM 2a60: 65 73 73 61 67 65 28 68 50 72 6f 70 53 68 65 65 essage(hPropShee 2a70: 74 44 6c 67 2c 20 50 53 4d 5f 53 45 54 46 49 4e tDlg, PSM_SETFIN 2a80: 49 53 48 54 45 58 54 2c 20 30 2c 20 63 61 73 74 ISHTEXT, 0, cast 2a90: 28 4c 50 41 52 41 4d 29 20 6c 70 73 7a 54 65 78 (LPARAM) lpszTex 2aa0: 74 29 3b 0d 0a 7d 0d 0a 0d 0a 48 57 4e 44 20 50 t);..}....HWND P 2ab0: 72 6f 70 53 68 65 65 74 5f 47 65 74 54 61 62 43 ropSheet_GetTabC 2ac0: 6f 6e 74 72 6f 6c 28 48 57 4e 44 20 68 50 72 6f ontrol(HWND hPro 2ad0: 70 53 68 65 65 74 44 6c 67 29 20 7b 0d 0a 09 72 pSheetDlg) {...r 2ae0: 65 74 75 72 6e 20 63 61 73 74 28 48 57 4e 44 29 eturn cast(HWND) 2af0: 20 53 65 6e 64 4d 65 73 73 61 67 65 28 68 50 72 SendMessage(hPr 2b00: 6f 70 53 68 65 65 74 44 6c 67 2c 20 50 53 4d 5f opSheetDlg, PSM_ 2b10: 47 45 54 54 41 42 43 4f 4e 54 52 4f 4c 2c 20 30 GETTABCONTROL, 0 2b20: 2c 20 30 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c , 0);..}....BOOL 2b30: 20 50 72 6f 70 53 68 65 65 74 5f 49 73 44 69 61 PropSheet_IsDia 2b40: 6c 6f 67 4d 65 73 73 61 67 65 28 48 57 4e 44 20 logMessage(HWND 2b50: 68 44 6c 67 2c 20 4c 50 4d 53 47 20 70 4d 73 67 hDlg, LPMSG pMsg 2b60: 29 20 7b 0d 0a 09 72 65 74 75 72 6e 20 63 61 73 ) {...return cas 2b70: 74 28 42 4f 4f 4c 29 20 53 65 6e 64 4d 65 73 73 t(BOOL) SendMess 2b80: 61 67 65 28 68 44 6c 67 2c 20 50 53 4d 5f 49 53 age(hDlg, PSM_IS 2b90: 44 49 41 4c 4f 47 4d 45 53 53 41 47 45 2c 0d 0a DIALOGMESSAGE,.. 2ba0: 09 20 20 30 2c 20 63 61 73 74 28 4c 50 41 52 41 . 0, cast(LPARA 2bb0: 4d 29 20 70 4d 73 67 29 3b 0d 0a 7d 0d 0a 0d 0a M) pMsg);..}.... 2bc0: 48 57 4e 44 20 50 72 6f 70 53 68 65 65 74 5f 47 HWND PropSheet_G 2bd0: 65 74 43 75 72 72 65 6e 74 50 61 67 65 48 77 6e etCurrentPageHwn 2be0: 64 28 48 57 4e 44 20 68 44 6c 67 29 20 7b 0d 0a d(HWND hDlg) {.. 2bf0: 09 72 65 74 75 72 6e 20 63 61 73 74 28 48 57 4e .return cast(HWN 2c00: 44 29 20 53 65 6e 64 4d 65 73 73 61 67 65 28 68 D) SendMessage(h 2c10: 44 6c 67 2c 20 50 53 4d 5f 47 45 54 43 55 52 52 Dlg, PSM_GETCURR 2c20: 45 4e 54 50 41 47 45 48 57 4e 44 2c 20 30 2c 20 ENTPAGEHWND, 0, 2c30: 30 29 3b 0d 0a 7d 0d 0a 0d 0a 42 4f 4f 4c 20 50 0);..}....BOOL P 2c40: 72 6f 70 53 68 65 65 74 5f 49 6e 73 65 72 74 50 ropSheet_InsertP 2c50: 61 67 65 28 48 57 4e 44 20 68 50 72 6f 70 53 68 age(HWND hPropSh 2c60: 65 65 74 44 6c 67 2c 20 57 50 41 52 41 4d 20 77 eetDlg, WPARAM w 2c70: 49 6e 73 65 72 74 41 66 74 65 72 2c 0d 0a 09 20 InsertAfter,... 2c80: 20 48 50 52 4f 50 53 48 45 45 54 50 41 47 45 20 HPROPSHEETPAGE 2c90: 68 70 61 67 65 29 20 7b 0d 0a 09 72 65 74 75 72 hpage) {...retur 2ca0: 6e 20 63 61 73 74 28 42 4f 4f 4c 29 20 53 65 6e n cast(BOOL) Sen 2cb0: 64 4d 65 73 73 61 67 65 28 68 50 72 6f 70 53 68 dMessage(hPropSh 2cc0: 65 65 74 44 6c 67 2c 20 50 53 4d 5f 49 4e 53 45 eetDlg, PSM_INSE 2cd0: 52 54 50 41 47 45 2c 0d 0a 09 20 20 77 49 6e 73 RTPAGE,... wIns 2ce0: 65 72 74 41 66 74 65 72 2c 20 63 61 73 74 28 4c ertAfter, cast(L 2cf0: 50 41 52 41 4d 29 20 68 70 61 67 65 29 3b 0d 0a PARAM) hpage);.. 2d00: 7d 0d 0a }..