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