Mercurial > projects > ddbg_continued
comparison win32/shellapi.d @ 1:4a9dcbd9e54f
-files of 0.13 beta
-fixes so that it now compiles with the current dmd version
author | marton@basel.hu |
---|---|
date | Tue, 05 Apr 2011 20:44:01 +0200 |
parents | |
children |
comparison
equal
deleted
inserted
replaced
0:586e4a649642 | 1:4a9dcbd9e54f |
---|---|
1 /***********************************************************************\ | |
2 * shellapi.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.shellapi; | |
12 pragma(lib, "shell32.lib"); | |
13 | |
14 private import win32.w32api, win32.windef, win32.basetyps; | |
15 | |
16 enum : UINT { | |
17 ABE_LEFT, | |
18 ABE_TOP, | |
19 ABE_RIGHT, | |
20 ABE_BOTTOM // = 3 | |
21 } | |
22 | |
23 enum : UINT { | |
24 ABS_AUTOHIDE = 1, | |
25 ABS_ALWAYSONTOP | |
26 } | |
27 | |
28 const ULONG | |
29 SEE_MASK_CLASSNAME = 1, | |
30 SEE_MASK_CLASSKEY = 3, | |
31 SEE_MASK_IDLIST = 4, | |
32 SEE_MASK_INVOKEIDLIST = 12, | |
33 SEE_MASK_ICON = 0x000010, | |
34 SEE_MASK_HOTKEY = 0x000020, | |
35 SEE_MASK_NOCLOSEPROCESS = 0x000040, | |
36 SEE_MASK_CONNECTNETDRV = 0x000080, | |
37 SEE_MASK_FLAG_DDEWAIT = 0x000100, | |
38 SEE_MASK_DOENVSUBST = 0x000200, | |
39 SEE_MASK_FLAG_NO_UI = 0x000400, | |
40 SEE_MASK_NO_CONSOLE = 0x008000, | |
41 SEE_MASK_UNICODE = 0x010000, | |
42 SEE_MASK_ASYNCOK = 0x100000, | |
43 SEE_MASK_HMONITOR = 0x200000; | |
44 | |
45 enum : DWORD { | |
46 ABM_NEW, | |
47 ABM_REMOVE, | |
48 ABM_QUERYPOS, | |
49 ABM_SETPOS, | |
50 ABM_GETSTATE, | |
51 ABM_GETTASKBARPOS, | |
52 ABM_ACTIVATE, | |
53 ABM_GETAUTOHIDEBAR, | |
54 ABM_SETAUTOHIDEBAR, | |
55 ABM_WINDOWPOSCHANGED // = 9 | |
56 } | |
57 | |
58 static if (WINVER >= 0x501) { | |
59 const DWORD ABM_SETSTATE = 10; | |
60 } | |
61 | |
62 enum : UINT { | |
63 ABN_STATECHANGE, | |
64 ABN_POSCHANGED, | |
65 ABN_FULLSCREENAPP, | |
66 ABN_WINDOWARRANGE | |
67 } | |
68 | |
69 enum : DWORD { | |
70 NIM_ADD, | |
71 NIM_MODIFY, | |
72 NIM_DELETE | |
73 } | |
74 | |
75 static if (_WIN32_IE >= 0x500) { | |
76 const NOTIFYICON_VERSION = 3; | |
77 | |
78 enum : DWORD { | |
79 NIM_SETFOCUS = 3, | |
80 NIM_SETVERSION | |
81 } | |
82 } | |
83 | |
84 const UINT | |
85 NIF_MESSAGE = 1, | |
86 NIF_ICON = 2, | |
87 NIF_TIP = 4, | |
88 NIF_STATE = 8; | |
89 | |
90 static if (_WIN32_IE >= 0x500) { | |
91 const UINT NIF_INFO = 0x00000010; | |
92 } | |
93 | |
94 static if (_WIN32_IE >= 0x600) { | |
95 const UINT NIF_GUID = 0x00000020; | |
96 } | |
97 | |
98 static if (_WIN32_IE >= 0x500) { | |
99 enum : DWORD { | |
100 NIIF_NONE, | |
101 NIIF_INFO, | |
102 NIIF_WARNING, | |
103 NIIF_ERROR | |
104 } | |
105 } | |
106 | |
107 static if (_WIN32_IE >= 0x600) { | |
108 enum : DWORD { | |
109 NIIF_ICON_MASK = 15, | |
110 NIIF_NOSOUND | |
111 } | |
112 } | |
113 | |
114 const DWORD | |
115 NIS_HIDDEN = 1, | |
116 NIS_SHAREDICON = 2; | |
117 | |
118 const HINSTANCE | |
119 SE_ERR_FNF = cast(HANDLE) 2, | |
120 SE_ERR_PNF = cast(HANDLE) 3, | |
121 SE_ERR_ACCESSDENIED = cast(HANDLE) 5, | |
122 SE_ERR_OOM = cast(HANDLE) 8, | |
123 SE_ERR_DLLNOTFOUND = cast(HANDLE) 32, | |
124 SE_ERR_SHARE = cast(HANDLE) 26, | |
125 SE_ERR_ASSOCINCOMPLETE = cast(HANDLE) 27, | |
126 SE_ERR_DDETIMEOUT = cast(HANDLE) 28, | |
127 SE_ERR_DDEFAIL = cast(HANDLE) 29, | |
128 SE_ERR_DDEBUSY = cast(HANDLE) 30, | |
129 SE_ERR_NOASSOC = cast(HANDLE) 31; | |
130 | |
131 enum : UINT { | |
132 FO_MOVE = 1, | |
133 FO_COPY, | |
134 FO_DELETE, | |
135 FO_RENAME | |
136 } | |
137 | |
138 const FILEOP_FLAGS | |
139 FOF_MULTIDESTFILES = 0x0001, | |
140 FOF_CONFIRMMOUSE = 0x0002, | |
141 FOF_SILENT = 0x0004, | |
142 FOF_RENAMEONCOLLISION = 0x0008, | |
143 FOF_NOCONFIRMATION = 0x0010, | |
144 FOF_WANTMAPPINGHANDLE = 0x0020, | |
145 FOF_ALLOWUNDO = 0x0040, | |
146 FOF_FILESONLY = 0x0080, | |
147 FOF_SIMPLEPROGRESS = 0x0100, | |
148 FOF_NOCONFIRMMKDIR = 0x0200, | |
149 FOF_NOERRORUI = 0x0400, | |
150 FOF_NOCOPYSECURITYATTRIBS = 0x0800; | |
151 | |
152 // these are not documented on the MSDN site | |
153 enum { | |
154 PO_DELETE = 19, | |
155 PO_RENAME = 20, | |
156 PO_PORTCHANGE = 32, | |
157 PO_REN_PORT = 52 | |
158 } | |
159 | |
160 const UINT | |
161 SHGFI_LARGEICON = 0x000000, | |
162 SHGFI_SMALLICON = 0x000001, | |
163 SHGFI_OPENICON = 0x000002, | |
164 SHGFI_SHELLICONSIZE = 0x000004, | |
165 SHGFI_PIDL = 0x000008, | |
166 SHGFI_USEFILEATTRIBUTES = 0x000010, | |
167 SHGFI_ICON = 0x000100, | |
168 SHGFI_DISPLAYNAME = 0x000200, | |
169 SHGFI_TYPENAME = 0x000400, | |
170 SHGFI_ATTRIBUTES = 0x000800, | |
171 SHGFI_ICONLOCATION = 0x001000, | |
172 SHGFI_EXETYPE = 0x002000, | |
173 SHGFI_SYSICONINDEX = 0x004000, | |
174 SHGFI_LINKOVERLAY = 0x008000, | |
175 SHGFI_SELECTED = 0x010000, | |
176 SHGFI_ATTR_SPECIFIED = 0x020000; | |
177 | |
178 const SHERB_NOCONFIRMATION = 1; | |
179 const SHERB_NOPROGRESSUI = 2; | |
180 const SHERB_NOSOUND = 4; | |
181 | |
182 alias WORD FILEOP_FLAGS, PRINTEROP_FLAGS; | |
183 alias HANDLE HDROP; | |
184 | |
185 align(2): | |
186 | |
187 struct APPBARDATA { | |
188 DWORD cbSize = APPBARDATA.sizeof; | |
189 HWND hWnd; | |
190 UINT uCallbackMessage; | |
191 UINT uEdge; | |
192 RECT rc; | |
193 LPARAM lParam; | |
194 } | |
195 alias APPBARDATA* PAPPBARDATA; | |
196 | |
197 struct NOTIFYICONDATAA { | |
198 DWORD cbSize = NOTIFYICONDATAA.sizeof; | |
199 HWND hWnd; | |
200 UINT uID; | |
201 UINT uFlags; | |
202 UINT uCallbackMessage; | |
203 HICON hIcon; | |
204 static if (_WIN32_IE >= 0x500) { | |
205 CHAR[128] szTip; | |
206 DWORD dwState; | |
207 DWORD dwStateMask; | |
208 CHAR[256] szInfo; | |
209 union { | |
210 UINT uTimeout; | |
211 UINT uVersion; | |
212 } | |
213 CHAR[64] szInfoTitle; | |
214 DWORD dwInfoFlags; | |
215 } else { | |
216 CHAR[64] szTip; | |
217 } | |
218 static if (_WIN32_IE >= 0x600) { | |
219 GUID guidItem; | |
220 } | |
221 } | |
222 alias NOTIFYICONDATAA* PNOTIFYICONDATAA; | |
223 | |
224 struct NOTIFYICONDATAW { | |
225 DWORD cbSize = NOTIFYICONDATAW.sizeof; | |
226 HWND hWnd; | |
227 UINT uID; | |
228 UINT uFlags; | |
229 UINT uCallbackMessage; | |
230 HICON hIcon; | |
231 static if (_WIN32_IE >= 0x500) { | |
232 WCHAR[128] szTip; | |
233 DWORD dwState; | |
234 DWORD dwStateMask; | |
235 WCHAR[256] szInfo; | |
236 union { | |
237 UINT uTimeout; | |
238 UINT uVersion; | |
239 } | |
240 WCHAR[64] szInfoTitle; | |
241 DWORD dwInfoFlags; | |
242 } else { | |
243 WCHAR[64] szTip; | |
244 } | |
245 static if (_WIN32_IE >= 0x600) { | |
246 GUID guidItem; | |
247 } | |
248 } | |
249 alias NOTIFYICONDATAW* PNOTIFYICONDATAW; | |
250 | |
251 struct SHELLEXECUTEINFOA { | |
252 DWORD cbSize = SHELLEXECUTEINFOA.sizeof; | |
253 ULONG fMask; | |
254 HWND hwnd; | |
255 LPCSTR lpVerb; | |
256 LPCSTR lpFile; | |
257 LPCSTR lpParameters; | |
258 LPCSTR lpDirectory; | |
259 int nShow; | |
260 HINSTANCE hInstApp; | |
261 PVOID lpIDList; | |
262 LPCSTR lpClass; | |
263 HKEY hkeyClass; | |
264 DWORD dwHotKey; | |
265 HANDLE hIcon; | |
266 HANDLE hProcess; | |
267 } | |
268 alias SHELLEXECUTEINFOA* LPSHELLEXECUTEINFOA; | |
269 | |
270 struct SHELLEXECUTEINFOW { | |
271 DWORD cbSize = SHELLEXECUTEINFOW.sizeof; | |
272 ULONG fMask; | |
273 HWND hwnd; | |
274 LPCWSTR lpVerb; | |
275 LPCWSTR lpFile; | |
276 LPCWSTR lpParameters; | |
277 LPCWSTR lpDirectory; | |
278 int nShow; | |
279 HINSTANCE hInstApp; | |
280 PVOID lpIDList; | |
281 LPCWSTR lpClass; | |
282 HKEY hkeyClass; | |
283 DWORD dwHotKey; | |
284 HANDLE hIcon; | |
285 HANDLE hProcess; | |
286 } | |
287 alias SHELLEXECUTEINFOW* LPSHELLEXECUTEINFOW; | |
288 | |
289 struct SHFILEOPSTRUCTA { | |
290 HWND hwnd; | |
291 UINT wFunc; | |
292 LPCSTR pFrom; | |
293 LPCSTR pTo; | |
294 FILEOP_FLAGS fFlags; | |
295 BOOL fAnyOperationsAborted; | |
296 PVOID hNameMappings; | |
297 LPCSTR lpszProgressTitle; | |
298 } | |
299 alias SHFILEOPSTRUCTA* LPSHFILEOPSTRUCTA; | |
300 | |
301 struct SHFILEOPSTRUCTW { | |
302 HWND hwnd; | |
303 UINT wFunc; | |
304 LPCWSTR pFrom; | |
305 LPCWSTR pTo; | |
306 FILEOP_FLAGS fFlags; | |
307 BOOL fAnyOperationsAborted; | |
308 PVOID hNameMappings; | |
309 LPCWSTR lpszProgressTitle; | |
310 } | |
311 alias SHFILEOPSTRUCTW* LPSHFILEOPSTRUCTW; | |
312 | |
313 struct SHFILEINFOA { | |
314 HICON hIcon; | |
315 int iIcon; | |
316 DWORD dwAttributes; | |
317 CHAR[MAX_PATH] szDisplayName; | |
318 CHAR[80] szTypeName; | |
319 } | |
320 | |
321 struct SHFILEINFOW { | |
322 HICON hIcon; | |
323 int iIcon; | |
324 DWORD dwAttributes; | |
325 WCHAR[MAX_PATH] szDisplayName; | |
326 WCHAR[80] szTypeName; | |
327 } | |
328 | |
329 struct SHQUERYRBINFO { | |
330 DWORD cbSize = SHQUERYRBINFO.sizeof; | |
331 long i64Size; | |
332 long i64NumItems; | |
333 } | |
334 alias SHQUERYRBINFO* LPSHQUERYRBINFO; | |
335 | |
336 extern (Windows) { | |
337 LPWSTR* CommandLineToArgvW(LPCWSTR, int*); | |
338 void DragAcceptFiles(HWND, BOOL); | |
339 void DragFinish(HDROP); | |
340 UINT DragQueryFileA(HDROP, UINT, LPSTR, UINT); | |
341 UINT DragQueryFileW(HDROP, UINT, LPWSTR, UINT); | |
342 BOOL DragQueryPoint(HDROP, LPPOINT); | |
343 HICON DuplicateIcon(HINSTANCE, HICON); | |
344 HICON ExtractAssociatedIconA(HINSTANCE, LPCSTR, PWORD); | |
345 HICON ExtractAssociatedIconW(HINSTANCE, LPCWSTR, PWORD); | |
346 HICON ExtractIconA(HINSTANCE, LPCSTR, UINT); | |
347 HICON ExtractIconW(HINSTANCE, LPCWSTR, UINT); | |
348 UINT ExtractIconExA(LPCSTR, int, HICON*, HICON*, UINT); | |
349 UINT ExtractIconExW(LPCWSTR, int, HICON*, HICON*, UINT); | |
350 HINSTANCE FindExecutableA(LPCSTR, LPCSTR, LPSTR); | |
351 HINSTANCE FindExecutableW(LPCWSTR, LPCWSTR, LPWSTR); | |
352 UINT SHAppBarMessage(DWORD, PAPPBARDATA); | |
353 BOOL Shell_NotifyIconA(DWORD, PNOTIFYICONDATAA); | |
354 BOOL Shell_NotifyIconW(DWORD, PNOTIFYICONDATAW); | |
355 int ShellAboutA(HWND, LPCSTR, LPCSTR, HICON); | |
356 int ShellAboutW(HWND, LPCWSTR, LPCWSTR, HICON); | |
357 HINSTANCE ShellExecuteA(HWND, LPCSTR, LPCSTR, LPCSTR, LPCSTR, INT); | |
358 HINSTANCE ShellExecuteW(HWND, LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR, INT); | |
359 BOOL ShellExecuteExA(LPSHELLEXECUTEINFOA); | |
360 BOOL ShellExecuteExW(LPSHELLEXECUTEINFOW); | |
361 int SHFileOperationA(LPSHFILEOPSTRUCTA); | |
362 int SHFileOperationW(LPSHFILEOPSTRUCTW); | |
363 void SHFreeNameMappings(HANDLE); | |
364 DWORD SHGetFileInfoA(LPCSTR, DWORD, SHFILEINFOA*, UINT, UINT); | |
365 DWORD SHGetFileInfoW(LPCWSTR, DWORD, SHFILEINFOW*, UINT, UINT); | |
366 HRESULT SHQueryRecycleBinA(LPCSTR, LPSHQUERYRBINFO); | |
367 HRESULT SHQueryRecycleBinW(LPCWSTR, LPSHQUERYRBINFO); | |
368 HRESULT SHEmptyRecycleBinA(HWND, LPCSTR, DWORD); | |
369 HRESULT SHEmptyRecycleBinW(HWND, LPCWSTR, DWORD); | |
370 } | |
371 | |
372 version (Unicode) { | |
373 alias NOTIFYICONDATAW NOTIFYICONDATA; | |
374 alias SHELLEXECUTEINFOW SHELLEXECUTEINFO; | |
375 alias SHFILEOPSTRUCTW SHFILEOPSTRUCT; | |
376 alias SHFILEINFOW SHFILEINFO; | |
377 alias DragQueryFileW DragQueryFile; | |
378 alias ExtractAssociatedIconW ExtractAssociatedIcon; | |
379 alias ExtractIconW ExtractIcon; | |
380 alias ExtractIconExW ExtractIconEx; | |
381 alias FindExecutableW FindExecutable; | |
382 alias Shell_NotifyIconW Shell_NotifyIcon; | |
383 alias ShellAboutW ShellAbout; | |
384 alias ShellExecuteW ShellExecute; | |
385 alias ShellExecuteExW ShellExecuteEx; | |
386 alias SHFileOperationW SHFileOperation; | |
387 alias SHGetFileInfoW SHGetFileInfo; | |
388 alias SHQueryRecycleBinW SHQueryRecycleBin; | |
389 alias SHEmptyRecycleBinW SHEmptyRecycleBin; | |
390 } else { | |
391 alias NOTIFYICONDATAA NOTIFYICONDATA; | |
392 alias SHELLEXECUTEINFOA SHELLEXECUTEINFO; | |
393 alias SHFILEOPSTRUCTA SHFILEOPSTRUCT; | |
394 alias SHFILEINFOA SHFILEINFO; | |
395 alias DragQueryFileA DragQueryFile; | |
396 alias ExtractAssociatedIconA ExtractAssociatedIcon; | |
397 alias ExtractIconA ExtractIcon; | |
398 alias ExtractIconExA ExtractIconEx; | |
399 alias FindExecutableA FindExecutable; | |
400 alias Shell_NotifyIconA Shell_NotifyIcon; | |
401 alias ShellAboutA ShellAbout; | |
402 alias ShellExecuteA ShellExecute; | |
403 alias ShellExecuteExA ShellExecuteEx; | |
404 alias SHFileOperationA SHFileOperation; | |
405 alias SHGetFileInfoA SHGetFileInfo; | |
406 alias SHQueryRecycleBinA SHQueryRecycleBin; | |
407 alias SHEmptyRecycleBinA SHEmptyRecycleBin; | |
408 } | |
409 | |
410 alias NOTIFYICONDATA* PNOTIFYICONDATA; | |
411 alias SHELLEXECUTEINFO* LPSHELLEXECUTEINFO; | |
412 alias SHFILEOPSTRUCT* LPSHFILEOPSTRUCT; |