source: branches/swt/include/win/shellapi.h

Last change on this file was 22081, checked in by rousseau, 11 years ago

Modified or replaced some structures

structures:
o DEVMODEA
o DEVMODEW
o NMLVCUSTOMDRAW
o NOTIFYICONDATAA
o NOTIFYICONDATAW
o OPENFILENAME
o OSVERSIONINFOA
o OSVERSIONINFOW
o OSVERSIONINFOEXA
o OSVERSIONINFOEXW
o SCROLLBARINFO
o SHELLEXECUTEINFOA
o SHELLEXECUTEINFOW
o TTTOOLINFOA
o TTTOOLINFOW

All sources for swt.dll now compile.

File size: 10.1 KB
Line 
1#ifndef _WINE_SHELLAPI_H
2#define _WINE_SHELLAPI_H
3
4#include "windef.h"
5///-------------------------------------------------------------------[swt-os2]
6#include "guiddef.h"
7///----------------------------------------------------------------------------
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13#pragma pack(1)
14
15/******************************************
16 * DragObject
17 */
18
19typedef struct _DRAGINFOA
20{ UINT uSize;
21 POINT pt;
22 BOOL fNC;
23 LPSTR lpFileList;
24 DWORD grfKeyState;
25} DRAGINFOA, * LPDRAGINFOA;
26
27typedef struct _DRAGINFOW
28{ UINT uSize;
29 POINT pt;
30 BOOL fNC;
31 LPWSTR lpFileList;
32 DWORD grfKeyState;
33} DRAGINFOW, LPDRAGINFOW;
34
35void WINAPI DragAcceptFiles(HWND hWnd, BOOL b);
36void WINAPI DragAcceptFiles16(HWND16 hWnd, BOOL16 b);
37
38UINT16 WINAPI DragQueryFile16(HDROP16 hDrop, WORD wFile, LPSTR lpszFile, WORD wLength);
39UINT WINAPI DragQueryFileA(HDROP hDrop, UINT lFile, LPSTR lpszFile, UINT lLength);
40UINT WINAPI DragQueryFileW(HDROP hDrop, UINT lFile, LPWSTR lpszFile, UINT lLength);
41#define DragQueryFile WINELIB_NAME_AW(DragQueryFile)
42
43void WINAPI DragFinish16(HDROP16 h);
44void WINAPI DragFinish(HDROP h);
45
46BOOL16 WINAPI DragQueryPoint16(HDROP16 hDrop, POINT16 *p);
47BOOL WINAPI DragQueryPoint(HDROP hDrop, POINT *p);
48
49#define NIF_MESSAGE 0x00000001
50#define NIF_ICON 0x00000002
51#define NIF_TIP 0x00000004
52
53#define NIM_ADD 0x00000000
54#define NIM_MODIFY 0x00000001
55#define NIM_DELETE 0x00000002
56
57
58
59/******************************************
60 * Application Bar
61 */
62#define ABM_NEW 0x00000000
63#define ABM_REMOVE 0x00000001
64#define ABM_QUERYPOS 0x00000002
65#define ABM_SETPOS 0x00000003
66#define ABM_GETSTATE 0x00000004
67#define ABM_GETTASKBARPOS 0x00000005
68#define ABM_ACTIVATE 0x00000006
69#define ABM_GETAUTOHIDEBAR 0x00000007
70#define ABM_SETAUTOHIDEBAR 0x00000008
71#define ABM_WINDOWPOSCHANGED 0x00000009
72
73#define ABN_STATECHANGE 0x00000000
74#define ABN_POSCHANGED 0x00000001
75#define ABN_FULLSCREENAPP 0x00000002
76#define ABN_WINDOWARRANGE 0x00000003
77
78#define ABS_AUTOHIDE 0x00000001
79#define ABS_ALWAYSONTOP 0x00000002
80
81#define ABE_LEFT 0
82#define ABE_TOP 1
83#define ABE_RIGHT 2
84#define ABE_BOTTOM 3
85
86typedef struct _AppBarData
87{ DWORD cbSize;
88 HWND hWnd;
89 UINT uCallbackMessage;
90 UINT uEdge;
91 RECT rc;
92 LPARAM lParam;
93} APPBARDATA, *PAPPBARDATA;
94
95
96/******************************************
97 * SHGetFileInfo
98 */
99
100#define SHGFI_LARGEICON 0x000000000 /* get large icon */
101#define SHGFI_SMALLICON 0x000000001 /* get small icon */
102#define SHGFI_OPENICON 0x000000002 /* get open icon */
103#define SHGFI_SHELLICONSIZE 0x000000004 /* get shell size icon */
104#define SHGFI_PIDL 0x000000008 /* pszPath is a pidl */
105#define SHGFI_USEFILEATTRIBUTES 0x000000010 /* use passed dwFileAttribute */
106#define SHGFI_UNKNOWN1 0x000000020
107#define SHGFI_UNKNOWN2 0x000000040
108#define SHGFI_UNKNOWN3 0x000000080
109#define SHGFI_ICON 0x000000100 /* get icon */
110#define SHGFI_DISPLAYNAME 0x000000200 /* get display name */
111#define SHGFI_TYPENAME 0x000000400 /* get type name */
112#define SHGFI_ATTRIBUTES 0x000000800 /* get attributes */
113#define SHGFI_ICONLOCATION 0x000001000 /* get icon location */
114#define SHGFI_EXETYPE 0x000002000 /* return exe type */
115#define SHGFI_SYSICONINDEX 0x000004000 /* get system icon index */
116#define SHGFI_LINKOVERLAY 0x000008000 /* put a link overlay on icon */
117#define SHGFI_SELECTED 0x000010000 /* show icon in selected state */
118#define SHGFI_ATTR_SPECIFIED 0x000020000 /* get only specified attributes */
119
120typedef struct tagSHFILEINFOA
121{ HICON hIcon; /* icon */
122 int iIcon; /* icon index */
123 DWORD dwAttributes; /* SFGAO_ flags */
124 CHAR szDisplayName[MAX_PATH];/* display name (or path) */
125 CHAR szTypeName[80]; /* type name */
126} SHFILEINFOA;
127
128typedef struct tagSHFILEINFOW
129{ HICON hIcon; /* icon */
130 int iIcon; /* icon index */
131 DWORD dwAttributes; /* SFGAO_ flags */
132 WCHAR szDisplayName[MAX_PATH];/* display name (or path) */
133 WCHAR szTypeName[80]; /* type name */
134} SHFILEINFOW;
135
136DECL_WINELIB_TYPE_AW(SHFILEINFO)
137
138DWORD WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT);
139DWORD WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT);
140#define SHGetFileInfo WINELIB_NAME_AW(SHGetFileInfo)
141
142/******************************************
143 * SHSetFileInfo
144 */
145
146/******************************************
147* SHFileOperation
148*/
149#define FO_MOVE 0x0001
150#define FO_COPY 0x0002
151#define FO_DELETE 0x0003
152#define FO_RENAME 0x0004
153
154#define FOF_MULTIDESTFILES 0x0001
155#define FOF_CONFIRMMOUSE 0x0002
156#define FOF_SILENT 0x0004
157#define FOF_RENAMEONCOLLISION 0x0008
158#define FOF_NOCONFIRMATION 0x0010
159#define FOF_WANTMAPPINGHANDLE 0x0020
160#define FOF_ALLOWUNDO 0x0040
161#define FOF_FILESONLY 0x0080
162#define FOF_SIMPLEPROGRESS 0x0100
163#define FOF_NOCONFIRMMKDIR 0x0200
164#define FOF_NOERRORUI 0x0400
165#define FOF_NOCOPYSECURITYATTRIBS 0x0800
166
167typedef WORD FILEOP_FLAGS;
168
169#define PO_DELETE 0x0013
170#define PO_RENAME 0x0014
171#define PO_PORTCHANGE 0x0020
172
173typedef WORD PRINTEROP_FLAGS;
174
175typedef struct _SHNAMEMAPPINGW {
176 LPWSTR pszOldPath;
177 LPWSTR pszNewPath;
178 int cchOldPath;
179 int cchNewPath;
180} SHNAMEMAPPINGW, *LPSHNAMEMAPPINGW;
181
182typedef struct _SHFILEOPSTRUCTA
183{ HWND hwnd;
184 UINT wFunc;
185 LPCSTR pFrom;
186 LPCSTR pTo;
187 FILEOP_FLAGS fFlags;
188 BOOL fAnyOperationsAborted;
189 LPVOID hNameMappings;
190 LPCSTR lpszProgressTitle;
191} SHFILEOPSTRUCTA, *LPSHFILEOPSTRUCTA;
192
193typedef struct _SHFILEOPSTRUCTW
194{ HWND hwnd;
195 UINT wFunc;
196 LPCWSTR pFrom;
197 LPCWSTR pTo;
198 FILEOP_FLAGS fFlags;
199 BOOL fAnyOperationsAborted;
200 LPVOID hNameMappings;
201 LPCWSTR lpszProgressTitle;
202} SHFILEOPSTRUCTW, *LPSHFILEOPSTRUCTW;
203
204#define SHFILEOPSTRUCT WINELIB_NAME_AW(SHFILEOPSTRUCT)
205#define LPSHFILEOPSTRUCT WINELIB_NAME_AW(LPSHFILEOPSTRUCT)
206
207DWORD WINAPI SHFileOperationA (LPSHFILEOPSTRUCTA lpFileOp);
208DWORD WINAPI SHFileOperationW (LPSHFILEOPSTRUCTW lpFileOp);
209#define SHFileOperation WINELIB_NAME_AW(SHFileOperation)
210
211
212/*************************************
213 * code that is shared with shlobj.h *
214 *************************************/
215
216/******************************************
217 * ShellExecute
218 */
219#define SE_ERR_SHARE 26
220#define SE_ERR_ASSOCINCOMPLETE 27
221#define SE_ERR_DDETIMEOUT 28
222#define SE_ERR_DDEFAIL 29
223#define SE_ERR_DDEBUSY 30
224#define SE_ERR_NOASSOC 31
225
226HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT);
227HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
228#define ShellExecute WINELIB_NAME_AW(ShellExecute)
229
230/******************************************
231 * Tray Notification
232 */
233///-------------------------------------------------------------------[swt-os2]
234/// Substituted the Wine structures, which are different in layout and size.
235/*
236typedef struct _NOTIFYICONDATAA
237{ DWORD cbSize;
238 HWND hWnd;
239 UINT uID;
240 UINT uFlags;
241 UINT uCallbackMessage;
242 HICON hIcon;
243 CHAR szTip[64];
244} NOTIFYICONDATAA, *PNOTIFYICONDATAA;
245*/
246typedef struct _NOTIFYICONDATAA
247{ DWORD cbSize;
248 HWND hWnd;
249 UINT uID;
250 UINT uFlags;
251 UINT uCallbackMessage;
252 HICON hIcon;
253 CHAR szTip[128];
254 DWORD dwState;
255 DWORD dwStateMask;
256 CHAR szInfo[256];
257 union {
258 UINT uTimeout;
259 UINT uVersion;
260 } DUMMYUNIONNAME;
261 CHAR szInfoTitle[64];
262 DWORD dwInfoFlags;
263 GUID guidItem;
264 HICON hBalloonIcon;
265} NOTIFYICONDATAA, *PNOTIFYICONDATAA;
266/*
267typedef struct _NOTIFYICONDATAW
268{ DWORD cbSize;
269 HWND hWnd;
270 UINT uID;
271 UINT uFlags;
272 UINT uCallbackMessage;
273 HICON hIcon;
274 WCHAR szTip[64];
275} NOTIFYICONDATAW, *PNOTIFYICONDATAW;
276*/
277typedef struct _NOTIFYICONDATAW
278{ DWORD cbSize;
279 HWND hWnd;
280 UINT uID;
281 UINT uFlags;
282 UINT uCallbackMessage;
283 HICON hIcon;
284 WCHAR szTip[128];
285 DWORD dwState;
286 DWORD dwStateMask;
287 WCHAR szInfo[256];
288 union {
289 UINT uTimeout;
290 UINT uVersion;
291 } DUMMYUNIONNAME;
292 WCHAR szInfoTitle[64];
293 DWORD dwInfoFlags;
294 GUID guidItem;
295 HICON hBalloonIcon;
296} NOTIFYICONDATAW, *PNOTIFYICONDATAW;
297///----------------------------------------------------------------------------
298
299DECL_WINELIB_TYPE_AW(NOTIFYICONDATA)
300DECL_WINELIB_TYPE_AW(PNOTIFYICONDATA)
301
302BOOL WINAPI Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATAA lpData);
303BOOL WINAPI Shell_NotifyIconW(DWORD dwMessage, PNOTIFYICONDATAW lpData);
304#define Shell_NotifyIcon WINELIB_NAME_AW(Shell_NotifyIcon)
305
306#define SEE_MASK_CLASSNAME 0x00000001
307#define SEE_MASK_CLASSKEY 0x00000003
308#define SEE_MASK_IDLIST 0x00000004
309#define SEE_MASK_INVOKEIDLIST 0x0000000c
310#define SEE_MASK_ICON 0x00000010
311#define SEE_MASK_HOTKEY 0x00000020
312#define SEE_MASK_NOCLOSEPROCESS 0x00000040
313#define SEE_MASK_CONNECTNETDRV 0x00000080
314#define SEE_MASK_FLAG_DDEWAIT 0x00000100
315#define SEE_MASK_DOENVSUBST 0x00000200
316#define SEE_MASK_FLAG_NO_UI 0x00000400
317#define SEE_MASK_UNICODE 0x00004000
318#define SEE_MASK_NO_CONSOLE 0x00008000
319#define SEE_MASK_ASYNCOK 0x00100000
320
321
322/******************************************
323 * Misc
324 */
325
326HICON WINAPI ExtractIconA(HINSTANCE,LPCSTR,UINT);
327HICON WINAPI ExtractIconW(HINSTANCE,LPCWSTR,UINT);
328
329HICON WINAPI ExtractAssociatedIconA(HINSTANCE,LPSTR,LPWORD);
330HICON WINAPI ExtractAssociatedIconW(HINSTANCE,LPWSTR,LPWORD);
331UINT WINAPI ExtractIconExA( LPCSTR, INT, HICON *, HICON *, UINT );
332UINT WINAPI ExtractIconExW( LPCWSTR, INT, HICON *, HICON *, UINT );
333#define ExtractIconEx WINELIB_NAME_AW(ExtractIconEx)
334UINT WINAPI ExtractIconExAW(LPCVOID, INT, HICON *, HICON *, UINT );
335HINSTANCE WINAPI FindExecutableA(LPCSTR,LPCSTR,LPSTR);
336HINSTANCE WINAPI FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR);
337#define FindExecutable WINELIB_NAME_AW(FindExecutable)
338
339LPWSTR* WINAPI CommandLineToArgvW(LPCWSTR lpCmdline, int*);
340
341BOOL WINAPI ShellAboutA(HWND,LPCSTR,LPCSTR,HICON);
342BOOL WINAPI ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON);
343#define ShellAbout WINELIB_NAME_AW(ShellAbout)
344
345#pragma pack(4)
346
347#ifdef __cplusplus
348} // extern "C"
349#endif
350
351#endif /* _WINE_SHELLAPI_H */
Note: See TracBrowser for help on using the repository browser.