diff -r 000000000000 -r 76b1f169d9fe mingw-5.1.4/win32/include/shellapi.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mingw-5.1.4/win32/include/shellapi.h Fri Apr 03 17:16:45 2009 +0100 @@ -0,0 +1,363 @@ +#ifndef _SHELLAPI_H +#define _SHELLAPI_H +#if __GNUC__ >= 3 +#pragma GCC system_header +#endif + +#ifdef __cplusplus +extern "C" { +#endif +#define WINSHELLAPI DECLSPEC_IMPORT +#define ABE_LEFT 0 +#define ABE_TOP 1 +#define ABE_RIGHT 2 +#define ABE_BOTTOM 3 +#define ABS_AUTOHIDE 1 +#define ABS_ALWAYSONTOP 2 +#define SEE_MASK_CLASSNAME 0x1 +#define SEE_MASK_CLASSKEY 0x3 +#define SEE_MASK_IDLIST 0x4 +#define SEE_MASK_INVOKEIDLIST 0xc +#define SEE_MASK_ICON 0x10 +#define SEE_MASK_HOTKEY 0x20 +#define SEE_MASK_NOCLOSEPROCESS 0x40 +#define SEE_MASK_CONNECTNETDRV 0x80 +#define SEE_MASK_FLAG_DDEWAIT 0x100 +#define SEE_MASK_DOENVSUBST 0x200 +#define SEE_MASK_FLAG_NO_UI 0x400 +#define SEE_MASK_NO_CONSOLE 0x8000 +#define SEE_MASK_UNICODE 0x10000 +#define SEE_MASK_ASYNCOK 0x100000 +#define SEE_MASK_HMONITOR 0x200000 +#if (_WIN32_IE >= 0x0600) +#define SEE_MASK_NOZONECHECKS 0x800000 +#define SEE_MASK_FLAG_LOG_USAGE 0x4000000 +#endif +#define ABM_NEW 0 +#define ABM_REMOVE 1 +#define ABM_QUERYPOS 2 +#define ABM_SETPOS 3 +#define ABM_GETSTATE 4 +#define ABM_GETTASKBARPOS 5 +#define ABM_ACTIVATE 6 +#define ABM_GETAUTOHIDEBAR 7 +#define ABM_SETAUTOHIDEBAR 8 +#define ABM_WINDOWPOSCHANGED 9 +#define ABN_STATECHANGE 0 +#define ABN_POSCHANGED 1 +#define ABN_FULLSCREENAPP 2 +#define ABN_WINDOWARRANGE 3 +#define NIM_ADD 0 +#define NIM_MODIFY 1 +#define NIM_DELETE 2 +#if (_WIN32_IE >= 0x0500) +#define NOTIFYICON_VERSION 3 +#define NIM_SETFOCUS 3 +#define NIM_SETVERSION 4 +#define NIN_POPUPOPEN WM_USER+6 +#define NIN_POPUPCLOSE WM_USER+7 +#endif +#define NIF_MESSAGE 0x00000001 +#define NIF_ICON 0x00000002 +#define NIF_TIP 0x00000004 +#define NIF_STATE 0x00000008 +#if (_WIN32_IE >= 0x0500) +#define NIF_INFO 0x00000010 +#endif +#if (_WIN32_IE >= 0x0600) +#define NIF_GUID 0x00000020 +#endif +#if (_WIN32_IE >= 0x0500) +#define NIIF_NONE 0x00000000 +#define NIIF_INFO 0x00000001 +#define NIIF_WARNING 0x00000002 +#define NIIF_ERROR 0x00000003 +#endif +#if (_WIN32_IE >= 0x0600) +#define NIIF_ICON_MASK 0x0000000F +#define NIIF_NOSOUND 0x00000010 +#endif +#if (_WIN32_IE >= 0x0500) +#define NIS_HIDDEN 0x00000001 +#define NIS_SHAREDICON 0x00000002 +#endif +#define SE_ERR_FNF 2 +#define SE_ERR_PNF 3 +#define SE_ERR_ACCESSDENIED 5 +#define SE_ERR_OOM 8 +#define SE_ERR_DLLNOTFOUND 32 +#define SE_ERR_SHARE 26 +#define SE_ERR_ASSOCINCOMPLETE 27 +#define SE_ERR_DDETIMEOUT 28 +#define SE_ERR_DDEFAIL 29 +#define SE_ERR_DDEBUSY 30 +#define SE_ERR_NOASSOC 31 +#define FO_MOVE 1 +#define FO_COPY 2 +#define FO_DELETE 3 +#define FO_RENAME 4 +#define FOF_MULTIDESTFILES 1 +#define FOF_CONFIRMMOUSE 2 +#define FOF_SILENT 4 +#define FOF_RENAMEONCOLLISION 8 +#define FOF_NOCONFIRMATION 16 +#define FOF_WANTMAPPINGHANDLE 32 +#define FOF_ALLOWUNDO 64 +#define FOF_FILESONLY 128 +#define FOF_SIMPLEPROGRESS 256 +#define FOF_NOCONFIRMMKDIR 512 +#define FOF_NOERRORUI 1024 +#define FOF_NOCOPYSECURITYATTRIBS 2048 +#define PO_DELETE 19 +#define PO_RENAME 20 +#define PO_PORTCHANGE 32 +#define PO_REN_PORT 52 +#define SHGFI_ICON 256 +#define SHGFI_DISPLAYNAME 512 +#define SHGFI_TYPENAME 1024 +#define SHGFI_ATTRIBUTES 2048 +#define SHGFI_ICONLOCATION 4096 +#define SHGFI_EXETYPE 8192 +#define SHGFI_SYSICONINDEX 16384 +#define SHGFI_LINKOVERLAY 32768 +#define SHGFI_SELECTED 65536 +#define SHGFI_ATTR_SPECIFIED 131072 +#define SHGFI_LARGEICON 0 +#define SHGFI_SMALLICON 1 +#define SHGFI_OPENICON 2 +#define SHGFI_SHELLICONSIZE 4 +#define SHGFI_PIDL 8 +#define SHGFI_USEFILEATTRIBUTES 16 +#define SHERB_NOCONFIRMATION 1 +#define SHERB_NOPROGRESSUI 2 +#define SHERB_NOSOUND 4 +#ifdef UNICODE +#define NOTIFYICONDATA_V2_SIZE 936 +#define NOTIFYICONDATA_V1_SIZE 152 +#else +#define NOTIFYICONDATA_V2_SIZE 488 +#define NOTIFYICONDATA_V1_SIZE 88 +#endif + +typedef WORD FILEOP_FLAGS; +typedef WORD PRINTEROP_FLAGS; +#include +typedef struct _AppBarData { + DWORD cbSize; + HWND hWnd; + UINT uCallbackMessage; + UINT uEdge; + RECT rc; + LPARAM lParam; +} APPBARDATA,*PAPPBARDATA; +DECLARE_HANDLE(HDROP); + +typedef struct _NOTIFYICONDATAA { + DWORD cbSize; + HWND hWnd; + UINT uID; + UINT uFlags; + UINT uCallbackMessage; + HICON hIcon; +#if _WIN32_IE >= 0x0500 + CHAR szTip[128]; + DWORD dwState; + DWORD dwStateMask; + CHAR szInfo[256]; + _ANONYMOUS_UNION union { + UINT uTimeout; + UINT uVersion; + } DUMMYUNIONNAME; + CHAR szInfoTitle[64]; + DWORD dwInfoFlags; +#else + CHAR szTip[64]; +#endif +#if _WIN32_IE >= 0x600 + GUID guidItem; +#endif +#if _WIN32_WINNT >= 0x600 + HICON hBalloonIcon; +#endif +} NOTIFYICONDATAA,*PNOTIFYICONDATAA; + +typedef struct _NOTIFYICONDATAW { + DWORD cbSize; + HWND hWnd; + UINT uID; + UINT uFlags; + UINT uCallbackMessage; + HICON hIcon; +#if _WIN32_IE >= 0x0500 + WCHAR szTip[128]; + DWORD dwState; + DWORD dwStateMask; + WCHAR szInfo[256]; + _ANONYMOUS_UNION union { + UINT uTimeout; + UINT uVersion; + } DUMMYUNIONNAME; + WCHAR szInfoTitle[64]; + DWORD dwInfoFlags; +#else + WCHAR szTip[64]; +#endif +#if _WIN32_IE >= 0x600 + GUID guidItem; +#endif +#if _WIN32_WINNT >= 0x600 + HICON hBalloonIcon; +#endif +} NOTIFYICONDATAW,*PNOTIFYICONDATAW; + +typedef struct _SHELLEXECUTEINFOA { + DWORD cbSize; + ULONG fMask; + HWND hwnd; + LPCSTR lpVerb; + LPCSTR lpFile; + LPCSTR lpParameters; + LPCSTR lpDirectory; + int nShow; + HINSTANCE hInstApp; + PVOID lpIDList; + LPCSTR lpClass; + HKEY hkeyClass; + DWORD dwHotKey; + HANDLE hIcon; + HANDLE hProcess; +} SHELLEXECUTEINFOA,*LPSHELLEXECUTEINFOA; +typedef struct _SHELLEXECUTEINFOW { + DWORD cbSize; + ULONG fMask; + HWND hwnd; + LPCWSTR lpVerb; + LPCWSTR lpFile; + LPCWSTR lpParameters; + LPCWSTR lpDirectory; + int nShow; + HINSTANCE hInstApp; + PVOID lpIDList; + LPCWSTR lpClass; + HKEY hkeyClass; + DWORD dwHotKey; + HANDLE hIcon; + HANDLE hProcess; +} SHELLEXECUTEINFOW,*LPSHELLEXECUTEINFOW; +typedef struct _SHFILEOPSTRUCTA { + HWND hwnd; + UINT wFunc; + LPCSTR pFrom; + LPCSTR pTo; + FILEOP_FLAGS fFlags; + BOOL fAnyOperationsAborted; + PVOID hNameMappings; + LPCSTR lpszProgressTitle; +} SHFILEOPSTRUCTA,*LPSHFILEOPSTRUCTA; +typedef struct _SHFILEOPSTRUCTW { + HWND hwnd; + UINT wFunc; + LPCWSTR pFrom; + LPCWSTR pTo; + FILEOP_FLAGS fFlags; + BOOL fAnyOperationsAborted; + PVOID hNameMappings; + LPCWSTR lpszProgressTitle; +} SHFILEOPSTRUCTW,*LPSHFILEOPSTRUCTW; +typedef struct _SHFILEINFOA { + HICON hIcon; + int iIcon; + DWORD dwAttributes; + CHAR szDisplayName[MAX_PATH]; + CHAR szTypeName[80]; +} SHFILEINFOA; +typedef struct _SHFILEINFOW { + HICON hIcon; + int iIcon; + DWORD dwAttributes; + WCHAR szDisplayName[MAX_PATH]; + WCHAR szTypeName[80]; +} SHFILEINFOW; +typedef struct _SHQUERYRBINFO { + DWORD cbSize; + __int64 i64Size; + __int64 i64NumItems; +} SHQUERYRBINFO, *LPSHQUERYRBINFO; +#include + +LPWSTR * WINAPI CommandLineToArgvW(LPCWSTR,int*); +void WINAPI DragAcceptFiles(HWND,BOOL); +void WINAPI DragFinish(HDROP); +UINT WINAPI DragQueryFileA(HDROP,UINT,LPSTR,UINT); +UINT WINAPI DragQueryFileW(HDROP,UINT,LPWSTR,UINT); +BOOL WINAPI DragQueryPoint(HDROP,LPPOINT); +HICON WINAPI DuplicateIcon(HINSTANCE,HICON); +HICON WINAPI ExtractAssociatedIconA(HINSTANCE,LPCSTR,PWORD); +HICON WINAPI ExtractAssociatedIconW(HINSTANCE,LPCWSTR,PWORD); +HICON WINAPI ExtractIconA(HINSTANCE,LPCSTR,UINT); +HICON WINAPI ExtractIconW(HINSTANCE,LPCWSTR,UINT); +UINT WINAPI ExtractIconExA(LPCSTR,int,HICON*,HICON*,UINT); +UINT WINAPI ExtractIconExW(LPCWSTR,int,HICON*,HICON*,UINT); +HINSTANCE WINAPI FindExecutableA(LPCSTR,LPCSTR,LPSTR); +HINSTANCE WINAPI FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR); +UINT WINAPI SHAppBarMessage(DWORD,PAPPBARDATA); +BOOL WINAPI Shell_NotifyIconA(DWORD,PNOTIFYICONDATAA); +BOOL WINAPI Shell_NotifyIconW(DWORD,PNOTIFYICONDATAW); +int WINAPI ShellAboutA(HWND,LPCSTR,LPCSTR,HICON); +int WINAPI ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON); +HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT); +HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT); +BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA); +BOOL WINAPI ShellExecuteExW(LPSHELLEXECUTEINFOW); +int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA); +int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW); +void WINAPI SHFreeNameMappings(HANDLE); +DWORD WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT); +DWORD WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT); +HRESULT WINAPI SHQueryRecycleBinA(LPCSTR, LPSHQUERYRBINFO); +HRESULT WINAPI SHQueryRecycleBinW(LPCWSTR, LPSHQUERYRBINFO); +HRESULT WINAPI SHEmptyRecycleBinA(HWND,LPCSTR,DWORD); +HRESULT WINAPI SHEmptyRecycleBinW(HWND,LPCWSTR,DWORD); + +#ifdef UNICODE +typedef NOTIFYICONDATAW NOTIFYICONDATA,*PNOTIFYICONDATA; +typedef SHELLEXECUTEINFOW SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO; +typedef SHFILEOPSTRUCTW SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT; +typedef SHFILEINFOW SHFILEINFO; +#define DragQueryFile DragQueryFileW +#define ExtractAssociatedIcon ExtractAssociatedIconW +#define ExtractIcon ExtractIconW +#define ExtractIconEx ExtractIconExW +#define FindExecutable FindExecutableW +#define Shell_NotifyIcon Shell_NotifyIconW +#define ShellAbout ShellAboutW +#define ShellExecute ShellExecuteW +#define ShellExecuteEx ShellExecuteExW +#define SHFileOperation SHFileOperationW +#define SHGetFileInfo SHGetFileInfoW +#define SHQueryRecycleBin SHQueryRecycleBinW +#define SHEmptyRecycleBin SHEmptyRecycleBinW + +#else +typedef NOTIFYICONDATAA NOTIFYICONDATA,*PNOTIFYICONDATA; +typedef SHELLEXECUTEINFOA SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO; +typedef SHFILEOPSTRUCTA SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT; +typedef SHFILEINFOA SHFILEINFO; +#define DragQueryFile DragQueryFileA +#define ExtractAssociatedIcon ExtractAssociatedIconA +#define ExtractIcon ExtractIconA +#define ExtractIconEx ExtractIconExA +#define FindExecutable FindExecutableA +#define Shell_NotifyIcon Shell_NotifyIconA +#define ShellAbout ShellAboutA +#define ShellExecute ShellExecuteA +#define ShellExecuteEx ShellExecuteExA +#define SHFileOperation SHFileOperationA +#define SHGetFileInfo SHGetFileInfoA +#define SHQueryRecycleBin SHQueryRecycleBinA +#define SHEmptyRecycleBin SHEmptyRecycleBinA +#endif +#ifdef __cplusplus +} +#endif +#endif