Install msysDVLPR-1.0.0-alpha-1
[msysgit.git] / include / shellapi.h
blobdab26593c72489cc0988212dbc865c12c932e5a5
1 #ifndef _SHELLAPI_H
2 #define _SHELLAPI_H
3 #ifdef __cplusplus
4 extern "C" {
5 #endif
6 #define WINSHELLAPI DECLSPEC_IMPORT
7 #define ABE_LEFT 0
8 #define ABE_TOP 1
9 #define ABE_RIGHT 2
10 #define ABE_BOTTOM 3
11 #define SEE_MASK_CLASSNAME 1
12 #define SEE_MASK_CLASSKEY 3
13 #define SEE_MASK_IDLIST 4
14 #define SEE_MASK_INVOKEIDLIST 12
15 #define SEE_MASK_ICON 16
16 #define SEE_MASK_HOTKEY 32
17 #define SEE_MASK_NOCLOSEPROCESS 64
18 #define SEE_MASK_CONNECTNETDRV 128
19 #define SEE_MASK_FLAG_DDEWAIT 256
20 #define SEE_MASK_DOENVSUBST 512
21 #define SEE_MASK_FLAG_NO_UI 1024
22 #define SEE_MASK_UNICODE 65536
23 #define ABM_NEW 0
24 #define ABM_REMOVE 1
25 #define ABM_QUERYPOS 2
26 #define ABM_SETPOS 3
27 #define ABM_GETSTATE 4
28 #define ABM_GETTASKBARPOS 5
29 #define ABM_ACTIVATE 6
30 #define ABM_GETAUTOHIDEBAR 7
31 #define ABM_SETAUTOHIDEBAR 8
32 #define ABM_WINDOWPOSCHANGED 9
33 #define ABN_STATECHANGE 0
34 #define ABN_POSCHANGED 1
35 #define ABN_FULLSCREENAPP 2
36 #define ABN_WINDOWARRANGE 3
37 #define NIM_ADD 0
38 #define NIM_MODIFY 1
39 #define NIM_DELETE 2
40 #define NIF_MESSAGE 1
41 #define NIF_ICON 2
42 #define NIF_TIP 4
43 #define SE_ERR_FNF 2
44 #define SE_ERR_PNF 3
45 #define SE_ERR_ACCESSDENIED 5
46 #define SE_ERR_OOM 8
47 #define SE_ERR_DLLNOTFOUND 32
48 #define SE_ERR_SHARE 26
49 #define SE_ERR_ASSOCINCOMPLETE 27
50 #define SE_ERR_DDETIMEOUT 28
51 #define SE_ERR_DDEFAIL 29
52 #define SE_ERR_DDEBUSY 30
53 #define SE_ERR_NOASSOC 31
54 #define FO_MOVE 1
55 #define FO_COPY 2
56 #define FO_DELETE 3
57 #define FO_RENAME 4
58 #define FOF_MULTIDESTFILES 1
59 #define FOF_CONFIRMMOUSE 2
60 #define FOF_SILENT 4
61 #define FOF_RENAMEONCOLLISION 8
62 #define FOF_NOCONFIRMATION 16
63 #define FOF_WANTMAPPINGHANDLE 32
64 #define FOF_ALLOWUNDO 64
65 #define FOF_FILESONLY 128
66 #define FOF_SIMPLEPROGRESS 256
67 #define FOF_NOCONFIRMMKDIR 512
68 #define PO_DELETE 19
69 #define PO_RENAME 20
70 #define PO_PORTCHANGE 32
71 #define PO_REN_PORT 52
72 #define SHGFI_ICON 256
73 #define SHGFI_DISPLAYNAME 512
74 #define SHGFI_TYPENAME 1024
75 #define SHGFI_ATTRIBUTES 2048
76 #define SHGFI_ICONLOCATION 4096
77 #define SHGFI_EXETYPE 8192
78 #define SHGFI_SYSICONINDEX 16384
79 #define SHGFI_LINKOVERLAY 32768
80 #define SHGFI_SELECTED 65536
81 #define SHGFI_LARGEICON 0
82 #define SHGFI_SMALLICON 1
83 #define SHGFI_OPENICON 2
84 #define SHGFI_SHELLICONSIZE 4
85 #define SHGFI_PIDL 8
86 #define SHGFI_USEFILEATTRIBUTES 16
88 typedef WORD FILEOP_FLAGS;
89 typedef WORD PRINTEROP_FLAGS;
90 typedef struct _AppBarData {
91 DWORD cbSize;
92 HWND hWnd;
93 UINT uCallbackMessage;
94 UINT uEdge;
95 RECT rc;
96 LPARAM lParam;
97 } APPBARDATA,*PAPPBARDATA;
98 DECLARE_HANDLE(HDROP);
99 typedef struct _NOTIFYICONDATAA {
100 DWORD cbSize;
101 HWND hWnd;
102 UINT uID;
103 UINT uFlags;
104 UINT uCallbackMessage;
105 HICON hIcon;
106 CHAR szTip[64];
107 } NOTIFYICONDATAA,*PNOTIFYICONDATAA;
108 typedef struct _NOTIFYICONDATAW {
109 DWORD cbSize;
110 HWND hWnd;
111 UINT uID;
112 UINT uFlags;
113 UINT uCallbackMessage;
114 HICON hIcon;
115 WCHAR szTip[64];
116 } NOTIFYICONDATAW,*PNOTIFYICONDATAW;
117 typedef struct _SHELLEXECUTEINFOA {
118 DWORD cbSize;
119 ULONG fMask;
120 HWND hwnd;
121 LPCSTR lpVerb;
122 LPCSTR lpFile;
123 LPCSTR lpParameters;
124 LPCSTR lpDirectory;
125 int nShow;
126 HINSTANCE hInstApp;
127 PVOID lpIDList;
128 LPCSTR lpClass;
129 HKEY hkeyClass;
130 DWORD dwHotKey;
131 HANDLE hIcon;
132 HANDLE hProcess;
133 } SHELLEXECUTEINFOA,*LPSHELLEXECUTEINFOA;
134 typedef struct _SHELLEXECUTEINFOW {
135 DWORD cbSize;
136 ULONG fMask;
137 HWND hwnd;
138 LPCWSTR lpVerb;
139 LPCWSTR lpFile;
140 LPCWSTR lpParameters;
141 LPCWSTR lpDirectory;
142 int nShow;
143 HINSTANCE hInstApp;
144 PVOID lpIDList;
145 LPCWSTR lpClass;
146 HKEY hkeyClass;
147 DWORD dwHotKey;
148 HANDLE hIcon;
149 HANDLE hProcess;
150 } SHELLEXECUTEINFOW,*LPSHELLEXECUTEINFOW;
151 typedef struct _SHFILEOPSTRUCTA {
152 HWND hwnd;
153 UINT wFunc;
154 LPCSTR pFrom;
155 LPCSTR pTo;
156 FILEOP_FLAGS fFlags;
157 BOOL fAnyOperationsAborted;
158 PVOID hNameMappings;
159 LPCSTR lpszProgressTitle;
160 } SHFILEOPSTRUCTA,*LPSHFILEOPSTRUCTA;
161 typedef struct _SHFILEOPSTRUCTW {
162 HWND hwnd;
163 UINT wFunc;
164 LPCWSTR pFrom;
165 LPCWSTR pTo;
166 FILEOP_FLAGS fFlags;
167 BOOL fAnyOperationsAborted;
168 PVOID hNameMappings;
169 LPCWSTR lpszProgressTitle;
170 } SHFILEOPSTRUCTW,*LPSHFILEOPSTRUCTW;
171 typedef struct _SHFILEINFOA {
172 HICON hIcon;
173 int iIcon;
174 DWORD dwAttributes;
175 CHAR szDisplayName[MAX_PATH];
176 CHAR szTypeName[80];
177 } SHFILEINFOA;
178 typedef struct _SHFILEINFOW {
179 HICON hIcon;
180 int iIcon;
181 DWORD dwAttributes;
182 WCHAR szDisplayName[MAX_PATH];
183 WCHAR szTypeName[80];
184 } SHFILEINFOW;
186 LPWSTR * WINAPI CommandLineToArgvW(LPCWSTR,int*);
187 void WINAPI DragAcceptFiles(HWND,BOOL);
188 void WINAPI DragFinish(HDROP);
189 UINT WINAPI DragQueryFileA(HDROP,UINT,LPSTR,UINT);
190 UINT WINAPI DragQueryFileW(HDROP,UINT,LPWSTR,UINT);
191 BOOL WINAPI DragQueryPoint(HDROP,LPPOINT);
192 HICON WINAPI ExtractAssociatedIconA(HINSTANCE,LPCSTR,PWORD);
193 HICON WINAPI ExtractAssociatedIconW(HINSTANCE,LPCWSTR,PWORD);
194 HICON WINAPI ExtractIconA(HINSTANCE,LPCSTR,UINT);
195 HICON WINAPI ExtractIconW(HINSTANCE,LPCWSTR,UINT);
196 HICON WINAPI ExtractIconExA(LPCSTR,int,HICON*,HICON*,UINT);
197 HICON WINAPI ExtractIconExW(LPCWSTR,int,HICON*,HICON*,UINT);
198 HINSTANCE WINAPI FindExecutableA(LPCSTR,LPCSTR,LPSTR);
199 HINSTANCE WINAPI FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR);
200 UINT WINAPI SHAppBarMessage(DWORD,PAPPBARDATA);
201 BOOL WINAPI Shell_NotifyIconA(DWORD,PNOTIFYICONDATAA);
202 BOOL WINAPI Shell_NotifyIconW(DWORD,PNOTIFYICONDATAW);
203 int WINAPI ShellAboutA(HWND,LPCSTR,LPCSTR,HICON);
204 int WINAPI ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON);
205 HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT);
206 HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
207 BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA);
208 BOOL WINAPI ShellExecuteExW(LPSHELLEXECUTEINFOW);
209 int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA);
210 int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW);
211 void WINAPI SHFreeNameMappings(HANDLE);
212 DWORD WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT);
213 DWORD WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT);
215 #ifdef UNICODE
216 typedef NOTIFYICONDATAW NOTIFYICONDATA,*PNOTIFYICONDATA;
217 typedef SHELLEXECUTEINFOW SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO;
218 typedef SHFILEOPSTRUCTW SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT;
219 typedef SHFILEINFOW SHFILEINFO;
220 #define DragQueryFile DragQueryFileW
221 #define ExtractAssociatedIcon ExtractAssociatedIconW
222 #define ExtractIcon ExtractIconW
223 #define ExtractIconEx ExtractIconExW
224 #define FindExecutable FindExecutableW
225 #define Shell_NotifyIcon Shell_NotifyIconW
226 #define ShellAbout ShellAboutW
227 #define ShellExecute ShellExecuteW
228 #define ShellExecuteEx ShellExecuteExW
229 #define SHFileOperation SHFileOperationW
230 #define SHGetFileInfo SHGetFileInfoW
231 #else
232 typedef NOTIFYICONDATAA NOTIFYICONDATA,*PNOTIFYICONDATA;
233 typedef SHELLEXECUTEINFOA SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO;
234 typedef SHFILEOPSTRUCTA SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT;
235 typedef SHFILEINFOA SHFILEINFO;
236 #define DragQueryFile DragQueryFileA
237 #define ExtractAssociatedIcon ExtractAssociatedIconA
238 #define ExtractIcon ExtractIconA
239 #define ExtractIconEx ExtractIconExA
240 #define FindExecutable FindExecutableA
241 #define Shell_NotifyIcon Shell_NotifyIconA
242 #define ShellAbout ShellAboutA
243 #define ShellExecute ShellExecuteA
244 #define ShellExecuteEx ShellExecuteExA
245 #define SHFileOperation SHFileOperationA
246 #define SHGetFileInfo SHGetFileInfoA
247 #endif
248 #ifdef __cplusplus
250 #endif
251 #endif