4 #pragma GCC system_header
10 #define WINSHELLAPI DECLSPEC_IMPORT
15 #define ABS_AUTOHIDE 1
16 #define ABS_ALWAYSONTOP 2
17 #define SEE_MASK_CLASSNAME 1
18 #define SEE_MASK_CLASSKEY 3
19 #define SEE_MASK_IDLIST 4
20 #define SEE_MASK_INVOKEIDLIST 12
21 #define SEE_MASK_ICON 0x10
22 #define SEE_MASK_HOTKEY 0x20
23 #define SEE_MASK_NOCLOSEPROCESS 0x40
24 #define SEE_MASK_CONNECTNETDRV 0x80
25 #define SEE_MASK_FLAG_DDEWAIT 0x100
26 #define SEE_MASK_DOENVSUBST 0x200
27 #define SEE_MASK_FLAG_NO_UI 0x400
28 #define SEE_MASK_NO_CONSOLE 0x8000
29 #define SEE_MASK_UNICODE 0x10000
30 #define SEE_MASK_ASYNCOK 0x100000
31 #define SEE_MASK_HMONITOR 0x200000
32 #define SEE_MASK_NOZONECHECKS 0x00800000
35 #define ABM_QUERYPOS 2
37 #define ABM_GETSTATE 4
38 #define ABM_GETTASKBARPOS 5
39 #define ABM_ACTIVATE 6
40 #define ABM_GETAUTOHIDEBAR 7
41 #define ABM_SETAUTOHIDEBAR 8
42 #define ABM_WINDOWPOSCHANGED 9
43 #define ABN_STATECHANGE 0
44 #define ABN_POSCHANGED 1
45 #define ABN_FULLSCREENAPP 2
46 #define ABN_WINDOWARRANGE 3
50 #if _WIN32_IE >= 0x0500
51 #define NOTIFYICON_VERSION 3
52 #define NIM_SETFOCUS 3
53 #define NIM_SETVERSION 4
60 #define NIS_SHAREDICON 2
63 #define SE_ERR_ACCESSDENIED 5
65 #define SE_ERR_DLLNOTFOUND 32
66 #define SE_ERR_SHARE 26
67 #define SE_ERR_ASSOCINCOMPLETE 27
68 #define SE_ERR_DDETIMEOUT 28
69 #define SE_ERR_DDEFAIL 29
70 #define SE_ERR_DDEBUSY 30
71 #define SE_ERR_NOASSOC 31
76 #define FOF_MULTIDESTFILES 1
77 #define FOF_CONFIRMMOUSE 2
79 #define FOF_RENAMEONCOLLISION 8
80 #define FOF_NOCONFIRMATION 16
81 #define FOF_WANTMAPPINGHANDLE 32
82 #define FOF_ALLOWUNDO 64
83 #define FOF_FILESONLY 128
84 #define FOF_SIMPLEPROGRESS 256
85 #define FOF_NOCONFIRMMKDIR 512
86 #define FOF_NOERRORUI 1024
87 #define FOF_NOCOPYSECURITYATTRIBS 2048
90 #define PO_PORTCHANGE 32
91 #define PO_REN_PORT 52
92 #define SHGFI_ADDOVERLAYS 32
93 #define SHGFI_OVERLAYINDEX 64
94 #define SHGFI_ICON 256
95 #define SHGFI_DISPLAYNAME 512
96 #define SHGFI_TYPENAME 1024
97 #define SHGFI_ATTRIBUTES 2048
98 #define SHGFI_ICONLOCATION 4096
99 #define SHGFI_EXETYPE 8192
100 #define SHGFI_SYSICONINDEX 16384
101 #define SHGFI_LINKOVERLAY 32768
102 #define SHGFI_SELECTED 65536
103 #define SHGFI_ATTR_SPECIFIED 131072
104 #define SHGFI_LARGEICON 0
105 #define SHGFI_SMALLICON 1
106 #define SHGFI_OPENICON 2
107 #define SHGFI_SHELLICONSIZE 4
109 #define SHGFI_USEFILEATTRIBUTES 16
110 #define SHERB_NOCONFIRMATION 1
111 #define SHERB_NOPROGRESSUI 2
112 #define SHERB_NOSOUND 4
114 typedef WORD FILEOP_FLAGS
;
115 typedef WORD PRINTEROP_FLAGS
;
116 #include <pshpack2.h>
117 typedef struct _AppBarData
{
120 UINT uCallbackMessage
;
124 } APPBARDATA
,*PAPPBARDATA
;
125 DECLARE_HANDLE(HDROP
);
127 typedef struct _NOTIFYICONDATAA
{
132 UINT uCallbackMessage
;
134 #if _WIN32_IE >= 0x0500
139 _ANONYMOUS_UNION
union {
143 CHAR szInfoTitle
[64];
148 #if _WIN32_IE >= 0x600
151 } NOTIFYICONDATAA
,*PNOTIFYICONDATAA
;
153 typedef struct _NOTIFYICONDATAW
{
158 UINT uCallbackMessage
;
160 #if _WIN32_IE >= 0x0500
165 _ANONYMOUS_UNION
union {
169 WCHAR szInfoTitle
[64];
174 #if _WIN32_IE >= 0x600
177 } NOTIFYICONDATAW
,*PNOTIFYICONDATAW
;
179 typedef struct _SHELLEXECUTEINFOA
{
195 } SHELLEXECUTEINFOA
,*LPSHELLEXECUTEINFOA
;
196 typedef struct _SHELLEXECUTEINFOW
{
202 LPCWSTR lpParameters
;
212 } SHELLEXECUTEINFOW
,*LPSHELLEXECUTEINFOW
;
213 typedef struct _SHFILEOPSTRUCTA
{
219 BOOL fAnyOperationsAborted
;
221 LPCSTR lpszProgressTitle
;
222 } SHFILEOPSTRUCTA
,*LPSHFILEOPSTRUCTA
;
223 typedef struct _SHFILEOPSTRUCTW
{
229 BOOL fAnyOperationsAborted
;
231 LPCWSTR lpszProgressTitle
;
232 } SHFILEOPSTRUCTW
,*LPSHFILEOPSTRUCTW
;
233 typedef struct _SHFILEINFOA
{
237 CHAR szDisplayName
[MAX_PATH
];
240 typedef struct _SHFILEINFOW
{
244 WCHAR szDisplayName
[MAX_PATH
];
245 WCHAR szTypeName
[80];
247 typedef struct _SHQUERYRBINFO
{
251 } SHQUERYRBINFO
, *LPSHQUERYRBINFO
;
252 typedef struct _SHNAMEMAPPINGA
{
257 } SHNAMEMAPPINGA
, *LPSHNAMEMAPPINGA
;
258 typedef struct _SHNAMEMAPPINGW
{
263 } SHNAMEMAPPINGW
, *LPSHNAMEMAPPINGW
;
266 LPWSTR
* WINAPI
CommandLineToArgvW(LPCWSTR
,int*);
267 void WINAPI
DragAcceptFiles(HWND
,BOOL
);
268 void WINAPI
DragFinish(HDROP
);
269 UINT WINAPI
DragQueryFileA(HDROP
,UINT
,LPSTR
,UINT
);
270 UINT WINAPI
DragQueryFileW(HDROP
,UINT
,LPWSTR
,UINT
);
271 BOOL WINAPI
DragQueryPoint(HDROP
,LPPOINT
);
272 HICON WINAPI
ExtractAssociatedIconA(HINSTANCE
,LPSTR
,PWORD
);
273 HICON WINAPI
ExtractAssociatedIconW(HINSTANCE
,LPWSTR
,PWORD
);
274 HICON WINAPI
ExtractIconA(HINSTANCE
,LPCSTR
,UINT
);
275 HICON WINAPI
ExtractIconW(HINSTANCE
,LPCWSTR
,UINT
);
276 UINT WINAPI
ExtractIconExA(LPCSTR
,int,HICON
*,HICON
*,UINT
);
277 UINT WINAPI
ExtractIconExW(LPCWSTR
,int,HICON
*,HICON
*,UINT
);
278 HINSTANCE WINAPI
FindExecutableA(LPCSTR
,LPCSTR
,LPSTR
);
279 HINSTANCE WINAPI
FindExecutableW(LPCWSTR
,LPCWSTR
,LPWSTR
);
280 UINT WINAPI
SHAppBarMessage(DWORD
,PAPPBARDATA
);
281 BOOL WINAPI
Shell_NotifyIconA(DWORD
,PNOTIFYICONDATAA
);
282 BOOL WINAPI
Shell_NotifyIconW(DWORD
,PNOTIFYICONDATAW
);
283 int WINAPI
ShellAboutA(HWND
,LPCSTR
,LPCSTR
,HICON
);
284 int WINAPI
ShellAboutW(HWND
,LPCWSTR
,LPCWSTR
,HICON
);
285 HINSTANCE WINAPI
ShellExecuteA(HWND
,LPCSTR
,LPCSTR
,LPCSTR
,LPCSTR
,INT
);
286 HINSTANCE WINAPI
ShellExecuteW(HWND
,LPCWSTR
,LPCWSTR
,LPCWSTR
,LPCWSTR
,INT
);
287 BOOL WINAPI
ShellExecuteExA(LPSHELLEXECUTEINFOA
);
288 BOOL WINAPI
ShellExecuteExW(LPSHELLEXECUTEINFOW
);
289 int WINAPI
SHFileOperationA(LPSHFILEOPSTRUCTA
);
290 int WINAPI
SHFileOperationW(LPSHFILEOPSTRUCTW
);
291 void WINAPI
SHFreeNameMappings(HANDLE
);
292 DWORD WINAPI
SHGetFileInfoA(LPCSTR
,DWORD
,SHFILEINFOA
*,UINT
,UINT
);
293 DWORD WINAPI
SHGetFileInfoW(LPCWSTR
,DWORD
,SHFILEINFOW
*,UINT
,UINT
);
294 HRESULT WINAPI
SHQueryRecycleBinA(LPCSTR
, LPSHQUERYRBINFO
);
295 HRESULT WINAPI
SHQueryRecycleBinW(LPCWSTR
, LPSHQUERYRBINFO
);
296 HRESULT WINAPI
SHEmptyRecycleBinA(HWND
,LPCSTR
,DWORD
);
297 HRESULT WINAPI
SHEmptyRecycleBinW(HWND
,LPCWSTR
,DWORD
);
300 typedef NOTIFYICONDATAW NOTIFYICONDATA
,*PNOTIFYICONDATA
;
301 typedef SHELLEXECUTEINFOW SHELLEXECUTEINFO
,*LPSHELLEXECUTEINFO
;
302 typedef SHFILEOPSTRUCTW SHFILEOPSTRUCT
,*LPSHFILEOPSTRUCT
;
303 typedef SHFILEINFOW SHFILEINFO
;
304 typedef SHNAMEMAPPINGW SHNAMEMAPPING
;
305 typedef LPSHNAMEMAPPINGW LPSHNAMEMAPPING
;
306 #define DragQueryFile DragQueryFileW
307 #define ExtractAssociatedIcon ExtractAssociatedIconW
308 #define ExtractIcon ExtractIconW
309 #define ExtractIconEx ExtractIconExW
310 #define FindExecutable FindExecutableW
311 #define Shell_NotifyIcon Shell_NotifyIconW
312 #define ShellAbout ShellAboutW
313 #define ShellExecute ShellExecuteW
314 #define ShellExecuteEx ShellExecuteExW
315 #define SHFileOperation SHFileOperationW
316 #define SHGetFileInfo SHGetFileInfoW
317 #define SHQueryRecycleBin SHQueryRecycleBinW
318 #define SHEmptyRecycleBin SHEmptyRecycleBinW
321 typedef NOTIFYICONDATAA NOTIFYICONDATA
,*PNOTIFYICONDATA
;
322 typedef SHELLEXECUTEINFOA SHELLEXECUTEINFO
,*LPSHELLEXECUTEINFO
;
323 typedef SHFILEOPSTRUCTA SHFILEOPSTRUCT
,*LPSHFILEOPSTRUCT
;
324 typedef SHFILEINFOA SHFILEINFO
;
325 typedef SHNAMEMAPPINGA SHNAMEMAPPING
;
326 typedef LPSHNAMEMAPPINGA LPSHNAMEMAPPING
;
327 #define DragQueryFile DragQueryFileA
328 #define ExtractAssociatedIcon ExtractAssociatedIconA
329 #define ExtractIcon ExtractIconA
330 #define ExtractIconEx ExtractIconExA
331 #define FindExecutable FindExecutableA
332 #define Shell_NotifyIcon Shell_NotifyIconA
333 #define ShellAbout ShellAboutA
334 #define ShellExecute ShellExecuteA
335 #define ShellExecuteEx ShellExecuteExA
336 #define SHFileOperation SHFileOperationA
337 #define SHGetFileInfo SHGetFileInfoA
338 #define SHQueryRecycleBin SHQueryRecycleBinA
339 #define SHEmptyRecycleBin SHEmptyRecycleBinA