source: vendor/w32api/3.6/include/shellapi.h

Last change on this file was 2720, checked in by bird, 19 years ago

w32api v3.6

File size: 9.0 KB
Line 
1#ifndef _SHELLAPI_H
2#define _SHELLAPI_H
3#if __GNUC__ >= 3
4#pragma GCC system_header
5#endif
6
7#ifdef __cplusplus
8extern "C" {
9#endif
10#define WINSHELLAPI DECLSPEC_IMPORT
11#define ABE_LEFT 0
12#define ABE_TOP 1
13#define ABE_RIGHT 2
14#define ABE_BOTTOM 3
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 ABM_NEW 0
33#define ABM_REMOVE 1
34#define ABM_QUERYPOS 2
35#define ABM_SETPOS 3
36#define ABM_GETSTATE 4
37#define ABM_GETTASKBARPOS 5
38#define ABM_ACTIVATE 6
39#define ABM_GETAUTOHIDEBAR 7
40#define ABM_SETAUTOHIDEBAR 8
41#define ABM_WINDOWPOSCHANGED 9
42#define ABN_STATECHANGE 0
43#define ABN_POSCHANGED 1
44#define ABN_FULLSCREENAPP 2
45#define ABN_WINDOWARRANGE 3
46#define NIM_ADD 0
47#define NIM_MODIFY 1
48#define NIM_DELETE 2
49#if _WIN32_IE >= 0x0500
50#define NOTIFYICON_VERSION 3
51#define NIM_SETFOCUS 3
52#define NIM_SETVERSION 4
53#endif
54#define NIF_MESSAGE 0x00000001
55#define NIF_ICON 0x00000002
56#define NIF_TIP 0x00000004
57#define NIF_STATE 0x00000008
58#if (_WIN32_IE >= 0x0500)
59#define NIF_INFO 0x00000010
60#endif
61#if (_WIN32_IE >= 0x0600)
62#define NIF_GUID 0x00000020
63#endif
64#if (_WIN32_IE >= 0x0500)
65#define NIIF_NONE 0x00000000
66#define NIIF_INFO 0x00000001
67#define NIIF_WARNING 0x00000002
68#define NIIF_ERROR 0x00000003
69#endif
70#if (_WIN32_IE >= 0x0600)
71#define NIIF_ICON_MASK 0x0000000F
72#define NIIF_NOSOUND 0x00000010
73#endif
74#define NIS_HIDDEN 1
75#define NIS_SHAREDICON 2
76#define SE_ERR_FNF 2
77#define SE_ERR_PNF 3
78#define SE_ERR_ACCESSDENIED 5
79#define SE_ERR_OOM 8
80#define SE_ERR_DLLNOTFOUND 32
81#define SE_ERR_SHARE 26
82#define SE_ERR_ASSOCINCOMPLETE 27
83#define SE_ERR_DDETIMEOUT 28
84#define SE_ERR_DDEFAIL 29
85#define SE_ERR_DDEBUSY 30
86#define SE_ERR_NOASSOC 31
87#define FO_MOVE 1
88#define FO_COPY 2
89#define FO_DELETE 3
90#define FO_RENAME 4
91#define FOF_MULTIDESTFILES 1
92#define FOF_CONFIRMMOUSE 2
93#define FOF_SILENT 4
94#define FOF_RENAMEONCOLLISION 8
95#define FOF_NOCONFIRMATION 16
96#define FOF_WANTMAPPINGHANDLE 32
97#define FOF_ALLOWUNDO 64
98#define FOF_FILESONLY 128
99#define FOF_SIMPLEPROGRESS 256
100#define FOF_NOCONFIRMMKDIR 512
101#define FOF_NOERRORUI 1024
102#define FOF_NOCOPYSECURITYATTRIBS 2048
103#define PO_DELETE 19
104#define PO_RENAME 20
105#define PO_PORTCHANGE 32
106#define PO_REN_PORT 52
107#define SHGFI_ICON 256
108#define SHGFI_DISPLAYNAME 512
109#define SHGFI_TYPENAME 1024
110#define SHGFI_ATTRIBUTES 2048
111#define SHGFI_ICONLOCATION 4096
112#define SHGFI_EXETYPE 8192
113#define SHGFI_SYSICONINDEX 16384
114#define SHGFI_LINKOVERLAY 32768
115#define SHGFI_SELECTED 65536
116#define SHGFI_ATTR_SPECIFIED 131072
117#define SHGFI_LARGEICON 0
118#define SHGFI_SMALLICON 1
119#define SHGFI_OPENICON 2
120#define SHGFI_SHELLICONSIZE 4
121#define SHGFI_PIDL 8
122#define SHGFI_USEFILEATTRIBUTES 16
123#define SHERB_NOCONFIRMATION 1
124#define SHERB_NOPROGRESSUI 2
125#define SHERB_NOSOUND 4
126
127typedef WORD FILEOP_FLAGS;
128typedef WORD PRINTEROP_FLAGS;
129#include <pshpack2.h>
130typedef struct _AppBarData {
131 DWORD cbSize;
132 HWND hWnd;
133 UINT uCallbackMessage;
134 UINT uEdge;
135 RECT rc;
136 LPARAM lParam;
137} APPBARDATA,*PAPPBARDATA;
138DECLARE_HANDLE(HDROP);
139
140typedef struct _NOTIFYICONDATAA {
141 DWORD cbSize;
142 HWND hWnd;
143 UINT uID;
144 UINT uFlags;
145 UINT uCallbackMessage;
146 HICON hIcon;
147#if _WIN32_IE >= 0x0500
148 CHAR szTip[128];
149 DWORD dwState;
150 DWORD dwStateMask;
151 CHAR szInfo[256];
152 _ANONYMOUS_UNION union {
153 UINT uTimeout;
154 UINT uVersion;
155 } DUMMYUNIONNAME;
156 CHAR szInfoTitle[64];
157 DWORD dwInfoFlags;
158#else
159 CHAR szTip[64];
160#endif
161#if _WIN32_IE >= 0x600
162 GUID guidItem;
163#endif
164} NOTIFYICONDATAA,*PNOTIFYICONDATAA;
165
166typedef struct _NOTIFYICONDATAW {
167 DWORD cbSize;
168 HWND hWnd;
169 UINT uID;
170 UINT uFlags;
171 UINT uCallbackMessage;
172 HICON hIcon;
173#if _WIN32_IE >= 0x0500
174 WCHAR szTip[128];
175 DWORD dwState;
176 DWORD dwStateMask;
177 WCHAR szInfo[256];
178 _ANONYMOUS_UNION union {
179 UINT uTimeout;
180 UINT uVersion;
181 } DUMMYUNIONNAME;
182 WCHAR szInfoTitle[64];
183 DWORD dwInfoFlags;
184#else
185 WCHAR szTip[64];
186#endif
187#if _WIN32_IE >= 0x600
188 GUID guidItem;
189#endif
190} NOTIFYICONDATAW,*PNOTIFYICONDATAW;
191
192typedef struct _SHELLEXECUTEINFOA {
193 DWORD cbSize;
194 ULONG fMask;
195 HWND hwnd;
196 LPCSTR lpVerb;
197 LPCSTR lpFile;
198 LPCSTR lpParameters;
199 LPCSTR lpDirectory;
200 int nShow;
201 HINSTANCE hInstApp;
202 PVOID lpIDList;
203 LPCSTR lpClass;
204 HKEY hkeyClass;
205 DWORD dwHotKey;
206 HANDLE hIcon;
207 HANDLE hProcess;
208} SHELLEXECUTEINFOA,*LPSHELLEXECUTEINFOA;
209typedef struct _SHELLEXECUTEINFOW {
210 DWORD cbSize;
211 ULONG fMask;
212 HWND hwnd;
213 LPCWSTR lpVerb;
214 LPCWSTR lpFile;
215 LPCWSTR lpParameters;
216 LPCWSTR lpDirectory;
217 int nShow;
218 HINSTANCE hInstApp;
219 PVOID lpIDList;
220 LPCWSTR lpClass;
221 HKEY hkeyClass;
222 DWORD dwHotKey;
223 HANDLE hIcon;
224 HANDLE hProcess;
225} SHELLEXECUTEINFOW,*LPSHELLEXECUTEINFOW;
226typedef struct _SHFILEOPSTRUCTA {
227 HWND hwnd;
228 UINT wFunc;
229 LPCSTR pFrom;
230 LPCSTR pTo;
231 FILEOP_FLAGS fFlags;
232 BOOL fAnyOperationsAborted;
233 PVOID hNameMappings;
234 LPCSTR lpszProgressTitle;
235} SHFILEOPSTRUCTA,*LPSHFILEOPSTRUCTA;
236typedef struct _SHFILEOPSTRUCTW {
237 HWND hwnd;
238 UINT wFunc;
239 LPCWSTR pFrom;
240 LPCWSTR pTo;
241 FILEOP_FLAGS fFlags;
242 BOOL fAnyOperationsAborted;
243 PVOID hNameMappings;
244 LPCWSTR lpszProgressTitle;
245} SHFILEOPSTRUCTW,*LPSHFILEOPSTRUCTW;
246typedef struct _SHFILEINFOA {
247 HICON hIcon;
248 int iIcon;
249 DWORD dwAttributes;
250 CHAR szDisplayName[MAX_PATH];
251 CHAR szTypeName[80];
252} SHFILEINFOA;
253typedef struct _SHFILEINFOW {
254 HICON hIcon;
255 int iIcon;
256 DWORD dwAttributes;
257 WCHAR szDisplayName[MAX_PATH];
258 WCHAR szTypeName[80];
259} SHFILEINFOW;
260typedef struct _SHQUERYRBINFO {
261 DWORD cbSize;
262 __int64 i64Size;
263 __int64 i64NumItems;
264} SHQUERYRBINFO, *LPSHQUERYRBINFO;
265#include <poppack.h>
266
267LPWSTR * WINAPI CommandLineToArgvW(LPCWSTR,int*);
268void WINAPI DragAcceptFiles(HWND,BOOL);
269void WINAPI DragFinish(HDROP);
270UINT WINAPI DragQueryFileA(HDROP,UINT,LPSTR,UINT);
271UINT WINAPI DragQueryFileW(HDROP,UINT,LPWSTR,UINT);
272BOOL WINAPI DragQueryPoint(HDROP,LPPOINT);
273HICON WINAPI DuplicateIcon(HINSTANCE,HICON);
274HICON WINAPI ExtractAssociatedIconA(HINSTANCE,LPCSTR,PWORD);
275HICON WINAPI ExtractAssociatedIconW(HINSTANCE,LPCWSTR,PWORD);
276HICON WINAPI ExtractIconA(HINSTANCE,LPCSTR,UINT);
277HICON WINAPI ExtractIconW(HINSTANCE,LPCWSTR,UINT);
278UINT WINAPI ExtractIconExA(LPCSTR,int,HICON*,HICON*,UINT);
279UINT WINAPI ExtractIconExW(LPCWSTR,int,HICON*,HICON*,UINT);
280HINSTANCE WINAPI FindExecutableA(LPCSTR,LPCSTR,LPSTR);
281HINSTANCE WINAPI FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR);
282UINT WINAPI SHAppBarMessage(DWORD,PAPPBARDATA);
283BOOL WINAPI Shell_NotifyIconA(DWORD,PNOTIFYICONDATAA);
284BOOL WINAPI Shell_NotifyIconW(DWORD,PNOTIFYICONDATAW);
285int WINAPI ShellAboutA(HWND,LPCSTR,LPCSTR,HICON);
286int WINAPI ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON);
287HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT);
288HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
289BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA);
290BOOL WINAPI ShellExecuteExW(LPSHELLEXECUTEINFOW);
291int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA);
292int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW);
293void WINAPI SHFreeNameMappings(HANDLE);
294DWORD WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT);
295DWORD WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT);
296HRESULT WINAPI SHQueryRecycleBinA(LPCSTR, LPSHQUERYRBINFO);
297HRESULT WINAPI SHQueryRecycleBinW(LPCWSTR, LPSHQUERYRBINFO);
298HRESULT WINAPI SHEmptyRecycleBinA(HWND,LPCSTR,DWORD);
299HRESULT WINAPI SHEmptyRecycleBinW(HWND,LPCWSTR,DWORD);
300
301#ifdef UNICODE
302typedef NOTIFYICONDATAW NOTIFYICONDATA,*PNOTIFYICONDATA;
303typedef SHELLEXECUTEINFOW SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO;
304typedef SHFILEOPSTRUCTW SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT;
305typedef SHFILEINFOW SHFILEINFO;
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
319
320#else
321typedef NOTIFYICONDATAA NOTIFYICONDATA,*PNOTIFYICONDATA;
322typedef SHELLEXECUTEINFOA SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO;
323typedef SHFILEOPSTRUCTA SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT;
324typedef SHFILEINFOA SHFILEINFO;
325#define DragQueryFile DragQueryFileA
326#define ExtractAssociatedIcon ExtractAssociatedIconA
327#define ExtractIcon ExtractIconA
328#define ExtractIconEx ExtractIconExA
329#define FindExecutable FindExecutableA
330#define Shell_NotifyIcon Shell_NotifyIconA
331#define ShellAbout ShellAboutA
332#define ShellExecute ShellExecuteA
333#define ShellExecuteEx ShellExecuteExA
334#define SHFileOperation SHFileOperationA
335#define SHGetFileInfo SHGetFileInfoA
336#define SHQueryRecycleBin SHQueryRecycleBinA
337#define SHEmptyRecycleBin SHEmptyRecycleBinA
338#endif
339#ifdef __cplusplus
340}
341#endif
342#endif
Note: See TracBrowser for help on using the repository browser.