Artifact a3afcd1ae7c02e6081dd53c12261c9bf2d4a9cdb:
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 0a 2a 20 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 63 70 6c 2e cpl.
0070: 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 d
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0090: 20 20 2a 0a 2a 20 20 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 2a 0a 2a 20 *.*
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
00f0: 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41 50 Windows AP
0100: 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65 20 I header module
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0120: 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 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: 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 *.*
0180: 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20 66 Translated f
0190: 72 6f 6d 20 4d 69 6e 47 57 20 57 69 6e 64 6f 77 rom MinGW Window
01a0: 73 20 68 65 61 64 65 72 73 20 20 20 20 20 20 20 s headers
01b0: 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20 20 *.*
01c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
01d0: 20 20 20 20 20 20 20 20 62 79 20 53 74 65 77 61 by Stewa
01e0: 72 74 20 47 6f 72 64 6f 6e 20 20 20 20 20 20 20 rt Gordon
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
0200: 20 20 20 20 2a 0a 2a 20 20 20 20 20 20 20 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 2a 0a *.
0250: 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 *
0260: 20 20 20 20 20 20 20 20 50 6c 61 63 65 64 20 69 Placed i
0270: 6e 74 6f 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 nto public domai
0280: 6e 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 n
0290: 20 20 20 20 20 20 20 20 2a 0a 5c 2a 2a 2a 2a 2a *.\*****
02a0: 2a 2a 2a 2a 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 2f 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32 **/.module win32
02f0: 2e 63 70 6c 3b 0a 0a 70 72 69 76 61 74 65 20 69 .cpl;..private i
0300: 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77 69 6e 64 mport win32.wind
0310: 65 66 2c 20 77 69 6e 33 32 2e 77 69 6e 75 73 65 ef, win32.winuse
0320: 72 3b 0a 0a 65 6e 75 6d 20 3a 20 75 69 6e 74 20 r;..enum : uint
0330: 7b 0a 09 57 4d 5f 43 50 4c 5f 4c 41 55 4e 43 48 {..WM_CPL_LAUNCH
0340: 20 3d 20 57 4d 5f 55 53 45 52 20 2b 20 31 30 30 = WM_USER + 100
0350: 30 2c 0a 09 57 4d 5f 43 50 4c 5f 4c 41 55 4e 43 0,..WM_CPL_LAUNC
0360: 48 45 44 0a 7d 0a 0a 65 6e 75 6d 20 3a 20 75 69 HED.}..enum : ui
0370: 6e 74 20 7b 0a 09 43 50 4c 5f 44 59 4e 41 4d 49 nt {..CPL_DYNAMI
0380: 43 5f 52 45 53 2c 0a 09 43 50 4c 5f 49 4e 49 54 C_RES,..CPL_INIT
0390: 2c 0a 09 43 50 4c 5f 47 45 54 43 4f 55 4e 54 2c ,..CPL_GETCOUNT,
03a0: 0a 09 43 50 4c 5f 49 4e 51 55 49 52 45 2c 0a 09 ..CPL_INQUIRE,..
03b0: 43 50 4c 5f 53 45 4c 45 43 54 2c 0a 09 43 50 4c CPL_SELECT,..CPL
03c0: 5f 44 42 4c 43 4c 4b 2c 0a 09 43 50 4c 5f 53 54 _DBLCLK,..CPL_ST
03d0: 4f 50 2c 0a 09 43 50 4c 5f 45 58 49 54 2c 0a 09 OP,..CPL_EXIT,..
03e0: 43 50 4c 5f 4e 45 57 49 4e 51 55 49 52 45 2c 0a CPL_NEWINQUIRE,.
03f0: 09 43 50 4c 5f 53 54 41 52 54 57 50 41 52 4d 53 .CPL_STARTWPARMS
0400: 41 2c 0a 09 43 50 4c 5f 53 54 41 52 54 57 50 41 A,..CPL_STARTWPA
0410: 52 4d 53 57 2c 20 2f 2f 20 3d 20 31 30 0a 09 43 RMSW, // = 10..C
0420: 50 4c 5f 53 45 54 55 50 20 3d 20 32 30 30 0a 7d PL_SETUP = 200.}
0430: 0a 0a 65 78 74 65 72 6e 20 28 57 69 6e 64 6f 77 ..extern (Window
0440: 73 29 20 61 6c 69 61 73 20 4c 4f 4e 47 20 66 75 s) alias LONG fu
0450: 6e 63 74 69 6f 6e 28 48 57 4e 44 2c 20 55 49 4e nction(HWND, UIN
0460: 54 2c 20 4c 4f 4e 47 2c 20 4c 4f 4e 47 29 20 41 T, LONG, LONG) A
0470: 50 50 4c 45 54 5f 50 52 4f 43 3b 0a 0a 73 74 72 PPLET_PROC;..str
0480: 75 63 74 20 43 50 4c 49 4e 46 4f 20 7b 0a 09 69 uct CPLINFO {..i
0490: 6e 74 20 20 69 64 49 63 6f 6e 3b 0a 09 69 6e 74 nt idIcon;..int
04a0: 20 20 69 64 4e 61 6d 65 3b 0a 09 69 6e 74 20 20 idName;..int
04b0: 69 64 49 6e 66 6f 3b 0a 09 4c 4f 4e 47 20 6c 44 idInfo;..LONG lD
04c0: 61 74 61 3b 0a 7d 0a 61 6c 69 61 73 20 43 50 4c ata;.}.alias CPL
04d0: 49 4e 46 4f 2a 20 4c 50 43 50 4c 49 4e 46 4f 3b INFO* LPCPLINFO;
04e0: 0a 0a 73 74 72 75 63 74 20 4e 45 57 43 50 4c 49 ..struct NEWCPLI
04f0: 4e 46 4f 41 20 7b 0a 09 44 57 4f 52 44 20 20 20 NFOA {..DWORD
0500: 20 20 64 77 53 69 7a 65 20 3d 20 4e 45 57 43 50 dwSize = NEWCP
0510: 4c 49 4e 46 4f 41 2e 73 69 7a 65 6f 66 3b 0a 09 LINFOA.sizeof;..
0520: 44 57 4f 52 44 20 20 20 20 20 64 77 46 6c 61 67 DWORD dwFlag
0530: 73 3b 0a 09 44 57 4f 52 44 20 20 20 20 20 64 77 s;..DWORD dw
0540: 48 65 6c 70 43 6f 6e 74 65 78 74 3b 0a 09 4c 4f HelpContext;..LO
0550: 4e 47 20 20 20 20 20 20 6c 44 61 74 61 3b 0a 09 NG lData;..
0560: 48 49 43 4f 4e 20 20 20 20 20 68 49 63 6f 6e 3b HICON hIcon;
0570: 0a 09 43 48 41 52 5b 33 32 5d 20 20 73 7a 4e 61 ..CHAR[32] szNa
0580: 6d 65 3b 0a 09 43 48 41 52 5b 36 34 5d 20 20 73 me;..CHAR[64] s
0590: 7a 49 6e 66 6f 3b 0a 09 43 48 41 52 5b 31 32 38 zInfo;..CHAR[128
05a0: 5d 20 73 7a 48 65 6c 70 46 69 6c 65 3b 0a 7d 0a ] szHelpFile;.}.
05b0: 61 6c 69 61 73 20 4e 45 57 43 50 4c 49 4e 46 4f alias NEWCPLINFO
05c0: 41 2a 20 4c 50 4e 45 57 43 50 4c 49 4e 46 4f 41 A* LPNEWCPLINFOA
05d0: 3b 0a 0a 73 74 72 75 63 74 20 4e 45 57 43 50 4c ;..struct NEWCPL
05e0: 49 4e 46 4f 57 20 7b 0a 09 44 57 4f 52 44 20 20 INFOW {..DWORD
05f0: 20 20 20 20 64 77 53 69 7a 65 20 3d 20 4e 45 57 dwSize = NEW
0600: 43 50 4c 49 4e 46 4f 57 2e 73 69 7a 65 6f 66 3b CPLINFOW.sizeof;
0610: 0a 09 44 57 4f 52 44 20 20 20 20 20 20 64 77 46 ..DWORD dwF
0620: 6c 61 67 73 3b 0a 09 44 57 4f 52 44 20 20 20 20 lags;..DWORD
0630: 20 20 64 77 48 65 6c 70 43 6f 6e 74 65 78 74 3b dwHelpContext;
0640: 0a 09 4c 4f 4e 47 20 20 20 20 20 20 20 6c 44 61 ..LONG lDa
0650: 74 61 3b 0a 09 48 49 43 4f 4e 20 20 20 20 20 20 ta;..HICON
0660: 68 49 63 6f 6e 3b 0a 09 57 43 48 41 52 5b 33 32 hIcon;..WCHAR[32
0670: 5d 20 20 73 7a 4e 61 6d 65 3b 0a 09 57 43 48 41 ] szName;..WCHA
0680: 52 5b 36 34 5d 20 20 73 7a 49 6e 66 6f 3b 0a 09 R[64] szInfo;..
0690: 57 43 48 41 52 5b 31 32 38 5d 20 73 7a 48 65 6c WCHAR[128] szHel
06a0: 70 46 69 6c 65 3b 0a 7d 0a 61 6c 69 61 73 20 4e pFile;.}.alias N
06b0: 45 57 43 50 4c 49 4e 46 4f 57 2a 20 4c 50 4e 45 EWCPLINFOW* LPNE
06c0: 57 43 50 4c 49 4e 46 4f 57 3b 0a 0a 76 65 72 73 WCPLINFOW;..vers
06d0: 69 6f 6e 20 28 55 6e 69 63 6f 64 65 29 20 7b 0a ion (Unicode) {.
06e0: 09 61 6c 69 61 73 20 43 50 4c 5f 53 54 41 52 54 .alias CPL_START
06f0: 57 50 41 52 4d 53 57 20 43 50 4c 5f 53 54 41 52 WPARMSW CPL_STAR
0700: 54 57 50 41 52 4d 53 3b 0a 09 61 6c 69 61 73 20 TWPARMS;..alias
0710: 4e 45 57 43 50 4c 49 4e 46 4f 57 20 4e 45 57 43 NEWCPLINFOW NEWC
0720: 50 4c 49 4e 46 4f 3b 0a 7d 20 65 6c 73 65 20 7b PLINFO;.} else {
0730: 0a 09 61 6c 69 61 73 20 43 50 4c 5f 53 54 41 52 ..alias CPL_STAR
0740: 54 57 50 41 52 4d 53 41 20 43 50 4c 5f 53 54 41 TWPARMSA CPL_STA
0750: 52 54 57 50 41 52 4d 53 3b 0a 09 61 6c 69 61 73 RTWPARMS;..alias
0760: 20 4e 45 57 43 50 4c 49 4e 46 4f 41 20 4e 45 57 NEWCPLINFOA NEW
0770: 43 50 4c 49 4e 46 4f 3b 0a 7d 0a 0a 61 6c 69 61 CPLINFO;.}..alia
0780: 73 20 4e 45 57 43 50 4c 49 4e 46 4f 2a 20 4c 50 s NEWCPLINFO* LP
0790: 4e 45 57 43 50 4c 49 4e 46 4f 3b 0a NEWCPLINFO;.