1 /***********************************************************************\
2 * cpl.d *
3 * *
4 * Windows API header module *
5 * *
6 * Translated from MinGW Windows headers *
7 * by Stewart Gordon *
8 * *
9 * Placed into public domain *
10 \***********************************************************************/
11 module win32.cpl;
12 version(Windows):
13
14 private import win32.windef, win32.winuser;
15
16 enum : uint {
17 WM_CPL_LAUNCH = WM_USER + 1000,
18 WM_CPL_LAUNCHED
19 }
20
21 enum : uint {
22 CPL_DYNAMIC_RES,
23 CPL_INIT,
24 CPL_GETCOUNT,
25 CPL_INQUIRE,
26 CPL_SELECT,
27 CPL_DBLCLK,
28 CPL_STOP,
29 CPL_EXIT,
30 CPL_NEWINQUIRE,
31 CPL_STARTWPARMSA,
32 CPL_STARTWPARMSW, // = 10
33 CPL_SETUP = 200
34 }
35
36 extern (Windows) alias LONG function(HWND, UINT, LONG, LONG) APPLET_PROC;
37
38 struct CPLINFO {
39 int idIcon;
40 int idName;
41 int idInfo;
42 LONG lData;
43 }
44 alias CPLINFO* LPCPLINFO;
45
46 struct NEWCPLINFOA {
47 DWORD dwSize = NEWCPLINFOA.sizeof;
48 DWORD dwFlags;
49 DWORD dwHelpContext;
50 LONG lData;
51 HICON hIcon;
52 CHAR[32] szName;
53 CHAR[64] szInfo;
54 CHAR[128] szHelpFile;
55 }
56 alias NEWCPLINFOA* LPNEWCPLINFOA;
57
58 struct NEWCPLINFOW {
59 DWORD dwSize = NEWCPLINFOW.sizeof;
60 DWORD dwFlags;
61 DWORD dwHelpContext;
62 LONG lData;
63 HICON hIcon;
64 WCHAR[32] szName;
65 WCHAR[64] szInfo;
66 WCHAR[128] szHelpFile;
67 }
68 alias NEWCPLINFOW* LPNEWCPLINFOW;
69
70 version (Unicode) {
71 alias CPL_STARTWPARMSW CPL_STARTWPARMS;
72 alias NEWCPLINFOW NEWCPLINFO;
73 } else {
74 alias CPL_STARTWPARMSA CPL_STARTWPARMS;
75 alias NEWCPLINFOA NEWCPLINFO;
76 }
77
78 alias NEWCPLINFO* LPNEWCPLINFO;