File Annotation

Not logged in
4e2933c620 2015-04-21        kinaba: /***********************************************************************\
4e2933c620 2015-04-21        kinaba: *                               shellapi.d                              *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Windows API header module                       *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                 Translated from MinGW Windows headers                 *
4e2933c620 2015-04-21        kinaba: *                           by Stewart Gordon                           *
4e2933c620 2015-04-21        kinaba: *                                                                       *
4e2933c620 2015-04-21        kinaba: *                       Placed into public domain                       *
4e2933c620 2015-04-21        kinaba: \***********************************************************************/
c2b7a98c21 2011-02-23        kinaba: module win32.shellapi;
4e2933c620 2015-04-21        kinaba: pragma(lib, "shell32.lib");
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: private import win32.w32api, win32.windef, win32.basetyps;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : UINT {
4e2933c620 2015-04-21        kinaba: 	ABE_LEFT,
4e2933c620 2015-04-21        kinaba: 	ABE_TOP,
4e2933c620 2015-04-21        kinaba: 	ABE_RIGHT,
4e2933c620 2015-04-21        kinaba: 	ABE_BOTTOM // = 3
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : UINT {
4e2933c620 2015-04-21        kinaba: 	ABS_AUTOHIDE    = 1,
4e2933c620 2015-04-21        kinaba: 	ABS_ALWAYSONTOP
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const ULONG
4e2933c620 2015-04-21        kinaba: 	SEE_MASK_CLASSNAME      =        1,
4e2933c620 2015-04-21        kinaba: 	SEE_MASK_CLASSKEY       =        3,
4e2933c620 2015-04-21        kinaba: 	SEE_MASK_IDLIST         =        4,
4e2933c620 2015-04-21        kinaba: 	SEE_MASK_INVOKEIDLIST   =       12,
4e2933c620 2015-04-21        kinaba: 	SEE_MASK_ICON           = 0x000010,
4e2933c620 2015-04-21        kinaba: 	SEE_MASK_HOTKEY         = 0x000020,
4e2933c620 2015-04-21        kinaba: 	SEE_MASK_NOCLOSEPROCESS = 0x000040,
4e2933c620 2015-04-21        kinaba: 	SEE_MASK_CONNECTNETDRV  = 0x000080,
4e2933c620 2015-04-21        kinaba: 	SEE_MASK_FLAG_DDEWAIT   = 0x000100,
4e2933c620 2015-04-21        kinaba: 	SEE_MASK_DOENVSUBST     = 0x000200,
4e2933c620 2015-04-21        kinaba: 	SEE_MASK_FLAG_NO_UI     = 0x000400,
4e2933c620 2015-04-21        kinaba: 	SEE_MASK_NO_CONSOLE     = 0x008000,
4e2933c620 2015-04-21        kinaba: 	SEE_MASK_UNICODE        = 0x010000,
4e2933c620 2015-04-21        kinaba: 	SEE_MASK_ASYNCOK        = 0x100000,
4e2933c620 2015-04-21        kinaba: 	SEE_MASK_HMONITOR       = 0x200000;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	ABM_NEW,
4e2933c620 2015-04-21        kinaba: 	ABM_REMOVE,
4e2933c620 2015-04-21        kinaba: 	ABM_QUERYPOS,
4e2933c620 2015-04-21        kinaba: 	ABM_SETPOS,
4e2933c620 2015-04-21        kinaba: 	ABM_GETSTATE,
4e2933c620 2015-04-21        kinaba: 	ABM_GETTASKBARPOS,
4e2933c620 2015-04-21        kinaba: 	ABM_ACTIVATE,
4e2933c620 2015-04-21        kinaba: 	ABM_GETAUTOHIDEBAR,
4e2933c620 2015-04-21        kinaba: 	ABM_SETAUTOHIDEBAR,
4e2933c620 2015-04-21        kinaba: 	ABM_WINDOWPOSCHANGED // = 9
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: static if (WINVER >= 0x501) {
4e2933c620 2015-04-21        kinaba: 	const DWORD ABM_SETSTATE = 10;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : UINT {
4e2933c620 2015-04-21        kinaba: 	ABN_STATECHANGE,
4e2933c620 2015-04-21        kinaba: 	ABN_POSCHANGED,
4e2933c620 2015-04-21        kinaba: 	ABN_FULLSCREENAPP,
4e2933c620 2015-04-21        kinaba: 	ABN_WINDOWARRANGE
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : DWORD {
4e2933c620 2015-04-21        kinaba: 	NIM_ADD,
4e2933c620 2015-04-21        kinaba: 	NIM_MODIFY,
4e2933c620 2015-04-21        kinaba: 	NIM_DELETE
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: static if (_WIN32_IE >= 0x500) {
4e2933c620 2015-04-21        kinaba: 	const NOTIFYICON_VERSION = 3;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: 	enum : DWORD {
4e2933c620 2015-04-21        kinaba: 		NIM_SETFOCUS = 3,
4e2933c620 2015-04-21        kinaba: 		NIM_SETVERSION
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const UINT
4e2933c620 2015-04-21        kinaba: 	NIF_MESSAGE = 1,
4e2933c620 2015-04-21        kinaba: 	NIF_ICON    = 2,
4e2933c620 2015-04-21        kinaba: 	NIF_TIP     = 4,
4e2933c620 2015-04-21        kinaba: 	NIF_STATE   = 8;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: static if (_WIN32_IE >= 0x500) {
4e2933c620 2015-04-21        kinaba: 	const UINT NIF_INFO = 0x00000010;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: static if (_WIN32_IE >= 0x600) {
4e2933c620 2015-04-21        kinaba: 	const UINT NIF_GUID = 0x00000020;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: static if (_WIN32_IE >= 0x500) {
4e2933c620 2015-04-21        kinaba: 	enum : DWORD {
4e2933c620 2015-04-21        kinaba: 		NIIF_NONE,
4e2933c620 2015-04-21        kinaba: 		NIIF_INFO,
4e2933c620 2015-04-21        kinaba: 		NIIF_WARNING,
4e2933c620 2015-04-21        kinaba: 		NIIF_ERROR
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: static if (_WIN32_IE >= 0x600) {
4e2933c620 2015-04-21        kinaba: 	enum : DWORD {
4e2933c620 2015-04-21        kinaba: 		NIIF_ICON_MASK = 15,
4e2933c620 2015-04-21        kinaba: 		NIIF_NOSOUND
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const DWORD
4e2933c620 2015-04-21        kinaba: 	NIS_HIDDEN     = 1,
4e2933c620 2015-04-21        kinaba: 	NIS_SHAREDICON = 2;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const HINSTANCE
4e2933c620 2015-04-21        kinaba: 	SE_ERR_FNF             = cast(HANDLE)  2,
4e2933c620 2015-04-21        kinaba: 	SE_ERR_PNF             = cast(HANDLE)  3,
4e2933c620 2015-04-21        kinaba: 	SE_ERR_ACCESSDENIED    = cast(HANDLE)  5,
4e2933c620 2015-04-21        kinaba: 	SE_ERR_OOM             = cast(HANDLE)  8,
4e2933c620 2015-04-21        kinaba: 	SE_ERR_DLLNOTFOUND     = cast(HANDLE) 32,
4e2933c620 2015-04-21        kinaba: 	SE_ERR_SHARE           = cast(HANDLE) 26,
4e2933c620 2015-04-21        kinaba: 	SE_ERR_ASSOCINCOMPLETE = cast(HANDLE) 27,
4e2933c620 2015-04-21        kinaba: 	SE_ERR_DDETIMEOUT      = cast(HANDLE) 28,
4e2933c620 2015-04-21        kinaba: 	SE_ERR_DDEFAIL         = cast(HANDLE) 29,
4e2933c620 2015-04-21        kinaba: 	SE_ERR_DDEBUSY         = cast(HANDLE) 30,
4e2933c620 2015-04-21        kinaba: 	SE_ERR_NOASSOC         = cast(HANDLE) 31;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: enum : UINT {
4e2933c620 2015-04-21        kinaba: 	FO_MOVE = 1,
4e2933c620 2015-04-21        kinaba: 	FO_COPY,
4e2933c620 2015-04-21        kinaba: 	FO_DELETE,
4e2933c620 2015-04-21        kinaba: 	FO_RENAME
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const FILEOP_FLAGS
4e2933c620 2015-04-21        kinaba: 	FOF_MULTIDESTFILES        = 0x0001,
4e2933c620 2015-04-21        kinaba: 	FOF_CONFIRMMOUSE          = 0x0002,
4e2933c620 2015-04-21        kinaba: 	FOF_SILENT                = 0x0004,
4e2933c620 2015-04-21        kinaba: 	FOF_RENAMEONCOLLISION     = 0x0008,
4e2933c620 2015-04-21        kinaba: 	FOF_NOCONFIRMATION        = 0x0010,
4e2933c620 2015-04-21        kinaba: 	FOF_WANTMAPPINGHANDLE     = 0x0020,
4e2933c620 2015-04-21        kinaba: 	FOF_ALLOWUNDO             = 0x0040,
4e2933c620 2015-04-21        kinaba: 	FOF_FILESONLY             = 0x0080,
4e2933c620 2015-04-21        kinaba: 	FOF_SIMPLEPROGRESS        = 0x0100,
4e2933c620 2015-04-21        kinaba: 	FOF_NOCONFIRMMKDIR        = 0x0200,
4e2933c620 2015-04-21        kinaba: 	FOF_NOERRORUI             = 0x0400,
4e2933c620 2015-04-21        kinaba: 	FOF_NOCOPYSECURITYATTRIBS = 0x0800;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: // these are not documented on the MSDN site
4e2933c620 2015-04-21        kinaba: enum {
4e2933c620 2015-04-21        kinaba: 	PO_DELETE     = 19,
4e2933c620 2015-04-21        kinaba: 	PO_RENAME     = 20,
4e2933c620 2015-04-21        kinaba: 	PO_PORTCHANGE = 32,
4e2933c620 2015-04-21        kinaba: 	PO_REN_PORT   = 52
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const UINT
4e2933c620 2015-04-21        kinaba: 	SHGFI_LARGEICON         = 0x000000,
4e2933c620 2015-04-21        kinaba: 	SHGFI_SMALLICON         = 0x000001,
4e2933c620 2015-04-21        kinaba: 	SHGFI_OPENICON          = 0x000002,
4e2933c620 2015-04-21        kinaba: 	SHGFI_SHELLICONSIZE     = 0x000004,
4e2933c620 2015-04-21        kinaba: 	SHGFI_PIDL              = 0x000008,
4e2933c620 2015-04-21        kinaba: 	SHGFI_USEFILEATTRIBUTES = 0x000010,
4e2933c620 2015-04-21        kinaba: 	SHGFI_ICON              = 0x000100,
4e2933c620 2015-04-21        kinaba: 	SHGFI_DISPLAYNAME       = 0x000200,
4e2933c620 2015-04-21        kinaba: 	SHGFI_TYPENAME          = 0x000400,
4e2933c620 2015-04-21        kinaba: 	SHGFI_ATTRIBUTES        = 0x000800,
4e2933c620 2015-04-21        kinaba: 	SHGFI_ICONLOCATION      = 0x001000,
4e2933c620 2015-04-21        kinaba: 	SHGFI_EXETYPE           = 0x002000,
4e2933c620 2015-04-21        kinaba: 	SHGFI_SYSICONINDEX      = 0x004000,
4e2933c620 2015-04-21        kinaba: 	SHGFI_LINKOVERLAY       = 0x008000,
4e2933c620 2015-04-21        kinaba: 	SHGFI_SELECTED          = 0x010000,
4e2933c620 2015-04-21        kinaba: 	SHGFI_ATTR_SPECIFIED    = 0x020000;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: const SHERB_NOCONFIRMATION = 1;
4e2933c620 2015-04-21        kinaba: const SHERB_NOPROGRESSUI   = 2;
4e2933c620 2015-04-21        kinaba: const SHERB_NOSOUND        = 4;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: alias WORD FILEOP_FLAGS, PRINTEROP_FLAGS;
4e2933c620 2015-04-21        kinaba: alias HANDLE HDROP;
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: align(2):
4e2933c620 2015-04-21        kinaba: 
4e2933c620 2015-04-21        kinaba: struct APPBARDATA {
4e2933c620 2015-04-21        kinaba: 	DWORD  cbSize = APPBARDATA.sizeof;
4e2933c620 2015-04-21        kinaba: 	HWND   hWnd;
4e2933c620 2015-04-21        kinaba: 	UINT   uCallbackMessage;
4e2933c620 2015-04-21        kinaba: 	UINT   uEdge;
4e2933c620 2015-04-21        kinaba: 	RECT   rc;
4e2933c620 2015-04-21        kinaba: 	LPARAM lParam;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias APPBARDATA* PAPPBARDATA;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: struct NOTIFYICONDATAA {
4e2933c620 2015-04-21        kinaba: 	DWORD cbSize = NOTIFYICONDATAA.sizeof;
4e2933c620 2015-04-21        kinaba: 	HWND  hWnd;
4e2933c620 2015-04-21        kinaba: 	UINT  uID;
4e2933c620 2015-04-21        kinaba: 	UINT  uFlags;
4e2933c620 2015-04-21        kinaba: 	UINT  uCallbackMessage;
4e2933c620 2015-04-21        kinaba: 	HICON hIcon;
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_IE >= 0x500) {
4e2933c620 2015-04-21        kinaba: 		CHAR[128] szTip;
4e2933c620 2015-04-21        kinaba: 		DWORD     dwState;
4e2933c620 2015-04-21        kinaba: 		DWORD     dwStateMask;
4e2933c620 2015-04-21        kinaba: 		CHAR[256] szInfo;
4e2933c620 2015-04-21        kinaba: 		union {
4e2933c620 2015-04-21        kinaba: 			UINT  uTimeout;
4e2933c620 2015-04-21        kinaba: 			UINT  uVersion;
4e2933c620 2015-04-21        kinaba: 		}
4e2933c620 2015-04-21        kinaba: 		CHAR[64]  szInfoTitle;
4e2933c620 2015-04-21        kinaba: 		DWORD     dwInfoFlags;
4e2933c620 2015-04-21        kinaba: 	} else {
4e2933c620 2015-04-21        kinaba: 		CHAR[64]  szTip;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_IE >= 0x600) {
4e2933c620 2015-04-21        kinaba: 		GUID      guidItem;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias NOTIFYICONDATAA* PNOTIFYICONDATAA;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: struct NOTIFYICONDATAW {
4e2933c620 2015-04-21        kinaba: 	DWORD cbSize = NOTIFYICONDATAW.sizeof;
4e2933c620 2015-04-21        kinaba: 	HWND  hWnd;
4e2933c620 2015-04-21        kinaba: 	UINT  uID;
4e2933c620 2015-04-21        kinaba: 	UINT  uFlags;
4e2933c620 2015-04-21        kinaba: 	UINT  uCallbackMessage;
4e2933c620 2015-04-21        kinaba: 	HICON hIcon;
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_IE >= 0x500) {
4e2933c620 2015-04-21        kinaba: 		WCHAR[128] szTip;
4e2933c620 2015-04-21        kinaba: 		DWORD      dwState;
4e2933c620 2015-04-21        kinaba: 		DWORD      dwStateMask;
4e2933c620 2015-04-21        kinaba: 		WCHAR[256] szInfo;
4e2933c620 2015-04-21        kinaba: 		union {
4e2933c620 2015-04-21        kinaba: 			UINT   uTimeout;
4e2933c620 2015-04-21        kinaba: 			UINT   uVersion;
4e2933c620 2015-04-21        kinaba: 		}
4e2933c620 2015-04-21        kinaba: 		WCHAR[64]  szInfoTitle;
4e2933c620 2015-04-21        kinaba: 		DWORD      dwInfoFlags;
4e2933c620 2015-04-21        kinaba: 	} else {
4e2933c620 2015-04-21        kinaba: 		WCHAR[64]  szTip;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: 	static if (_WIN32_IE >= 0x600) {
4e2933c620 2015-04-21        kinaba: 		GUID guidItem;
4e2933c620 2015-04-21        kinaba: 	}
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias NOTIFYICONDATAW* PNOTIFYICONDATAW;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: struct SHELLEXECUTEINFOA {
4e2933c620 2015-04-21        kinaba: 	DWORD     cbSize = SHELLEXECUTEINFOA.sizeof;
4e2933c620 2015-04-21        kinaba: 	ULONG     fMask;
4e2933c620 2015-04-21        kinaba: 	HWND      hwnd;
4e2933c620 2015-04-21        kinaba: 	LPCSTR    lpVerb;
4e2933c620 2015-04-21        kinaba: 	LPCSTR    lpFile;
4e2933c620 2015-04-21        kinaba: 	LPCSTR    lpParameters;
4e2933c620 2015-04-21        kinaba: 	LPCSTR    lpDirectory;
4e2933c620 2015-04-21        kinaba: 	int       nShow;
4e2933c620 2015-04-21        kinaba: 	HINSTANCE hInstApp;
4e2933c620 2015-04-21        kinaba: 	PVOID     lpIDList;
4e2933c620 2015-04-21        kinaba: 	LPCSTR    lpClass;
4e2933c620 2015-04-21        kinaba: 	HKEY      hkeyClass;
4e2933c620 2015-04-21        kinaba: 	DWORD     dwHotKey;
4e2933c620 2015-04-21        kinaba: 	HANDLE    hIcon;
4e2933c620 2015-04-21        kinaba: 	HANDLE    hProcess;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias SHELLEXECUTEINFOA* LPSHELLEXECUTEINFOA;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: struct SHELLEXECUTEINFOW {
4e2933c620 2015-04-21        kinaba: 	DWORD     cbSize = SHELLEXECUTEINFOW.sizeof;
4e2933c620 2015-04-21        kinaba: 	ULONG     fMask;
4e2933c620 2015-04-21        kinaba: 	HWND      hwnd;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR   lpVerb;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR   lpFile;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR   lpParameters;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR   lpDirectory;
4e2933c620 2015-04-21        kinaba: 	int       nShow;
4e2933c620 2015-04-21        kinaba: 	HINSTANCE hInstApp;
4e2933c620 2015-04-21        kinaba: 	PVOID     lpIDList;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR   lpClass;
4e2933c620 2015-04-21        kinaba: 	HKEY      hkeyClass;
4e2933c620 2015-04-21        kinaba: 	DWORD     dwHotKey;
4e2933c620 2015-04-21        kinaba: 	HANDLE    hIcon;
4e2933c620 2015-04-21        kinaba: 	HANDLE    hProcess;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias SHELLEXECUTEINFOW* LPSHELLEXECUTEINFOW;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: struct SHFILEOPSTRUCTA {
4e2933c620 2015-04-21        kinaba: 	HWND         hwnd;
4e2933c620 2015-04-21        kinaba: 	UINT         wFunc;
4e2933c620 2015-04-21        kinaba: 	LPCSTR       pFrom;
4e2933c620 2015-04-21        kinaba: 	LPCSTR       pTo;
4e2933c620 2015-04-21        kinaba: 	FILEOP_FLAGS fFlags;
4e2933c620 2015-04-21        kinaba: 	BOOL         fAnyOperationsAborted;
4e2933c620 2015-04-21        kinaba: 	PVOID        hNameMappings;
4e2933c620 2015-04-21        kinaba: 	LPCSTR       lpszProgressTitle;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias SHFILEOPSTRUCTA* LPSHFILEOPSTRUCTA;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: struct SHFILEOPSTRUCTW {
4e2933c620 2015-04-21        kinaba: 	HWND         hwnd;
4e2933c620 2015-04-21        kinaba: 	UINT         wFunc;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR      pFrom;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR      pTo;
4e2933c620 2015-04-21        kinaba: 	FILEOP_FLAGS fFlags;
4e2933c620 2015-04-21        kinaba: 	BOOL         fAnyOperationsAborted;
4e2933c620 2015-04-21        kinaba: 	PVOID        hNameMappings;
4e2933c620 2015-04-21        kinaba: 	LPCWSTR      lpszProgressTitle;
4e2933c620 2015-04-21        kinaba: }
4e2933c620 2015-04-21        kinaba: alias SHFILEOPSTRUCTW* LPSHFILEOPSTRUCTW;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: struct SHFILEINFOA {
4e2933c620 2015-04-21        kinaba: 	HICON          hIcon;
4e2933c620 2015-04-21        kinaba: 	int            iIcon;
4e2933c620 2015-04-21        kinaba: 	DWORD          dwAttributes;
4e2933c620 2015-04-21        kinaba: 	CHAR[MAX_PATH] szDisplayName;
4e2933c620 2015-04-21        kinaba: 	CHAR[80]       szTypeName;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: struct SHFILEINFOW {
4e2933c620 2015-04-21        kinaba: 	HICON           hIcon;
4e2933c620 2015-04-21        kinaba: 	int             iIcon;
4e2933c620 2015-04-21        kinaba: 	DWORD           dwAttributes;
4e2933c620 2015-04-21        kinaba: 	WCHAR[MAX_PATH] szDisplayName;
4e2933c620 2015-04-21        kinaba: 	WCHAR[80]       szTypeName;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: struct SHQUERYRBINFO {
4e2933c620 2015-04-21        kinaba: 	DWORD cbSize = SHQUERYRBINFO.sizeof;
4e2933c620 2015-04-21        kinaba: 	long  i64Size;
4e2933c620 2015-04-21        kinaba: 	long  i64NumItems;
c2b7a98c21 2011-02-23        kinaba: }
4e2933c620 2015-04-21        kinaba: alias SHQUERYRBINFO* LPSHQUERYRBINFO;
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: extern (Windows) {
4e2933c620 2015-04-21        kinaba: 	LPWSTR* CommandLineToArgvW(LPCWSTR, int*);
4e2933c620 2015-04-21        kinaba: 	void DragAcceptFiles(HWND, BOOL);
4e2933c620 2015-04-21        kinaba: 	void DragFinish(HDROP);
4e2933c620 2015-04-21        kinaba: 	UINT DragQueryFileA(HDROP, UINT, LPSTR, UINT);
4e2933c620 2015-04-21        kinaba: 	UINT DragQueryFileW(HDROP, UINT, LPWSTR, UINT);
4e2933c620 2015-04-21        kinaba: 	BOOL DragQueryPoint(HDROP, LPPOINT);
4e2933c620 2015-04-21        kinaba: 	HICON DuplicateIcon(HINSTANCE, HICON);
4e2933c620 2015-04-21        kinaba: 	HICON ExtractAssociatedIconA(HINSTANCE, LPCSTR, PWORD);
4e2933c620 2015-04-21        kinaba: 	HICON ExtractAssociatedIconW(HINSTANCE, LPCWSTR, PWORD);
4e2933c620 2015-04-21        kinaba: 	HICON ExtractIconA(HINSTANCE, LPCSTR, UINT);
4e2933c620 2015-04-21        kinaba: 	HICON ExtractIconW(HINSTANCE, LPCWSTR, UINT);
4e2933c620 2015-04-21        kinaba: 	UINT ExtractIconExA(LPCSTR, int, HICON*, HICON*, UINT);
4e2933c620 2015-04-21        kinaba: 	UINT ExtractIconExW(LPCWSTR, int, HICON*, HICON*, UINT);
4e2933c620 2015-04-21        kinaba: 	HINSTANCE FindExecutableA(LPCSTR, LPCSTR, LPSTR);
4e2933c620 2015-04-21        kinaba: 	HINSTANCE FindExecutableW(LPCWSTR, LPCWSTR, LPWSTR);
4e2933c620 2015-04-21        kinaba: 	UINT SHAppBarMessage(DWORD, PAPPBARDATA);
4e2933c620 2015-04-21        kinaba: 	BOOL Shell_NotifyIconA(DWORD, PNOTIFYICONDATAA);
4e2933c620 2015-04-21        kinaba: 	BOOL Shell_NotifyIconW(DWORD, PNOTIFYICONDATAW);
4e2933c620 2015-04-21        kinaba: 	int ShellAboutA(HWND, LPCSTR, LPCSTR, HICON);
4e2933c620 2015-04-21        kinaba: 	int ShellAboutW(HWND, LPCWSTR, LPCWSTR, HICON);
4e2933c620 2015-04-21        kinaba: 	HINSTANCE ShellExecuteA(HWND, LPCSTR, LPCSTR, LPCSTR, LPCSTR, INT);
4e2933c620 2015-04-21        kinaba: 	HINSTANCE ShellExecuteW(HWND, LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR, INT);
4e2933c620 2015-04-21        kinaba: 	BOOL ShellExecuteExA(LPSHELLEXECUTEINFOA);
4e2933c620 2015-04-21        kinaba: 	BOOL ShellExecuteExW(LPSHELLEXECUTEINFOW);
4e2933c620 2015-04-21        kinaba: 	int SHFileOperationA(LPSHFILEOPSTRUCTA);
4e2933c620 2015-04-21        kinaba: 	int SHFileOperationW(LPSHFILEOPSTRUCTW);
4e2933c620 2015-04-21        kinaba: 	void SHFreeNameMappings(HANDLE);
4e2933c620 2015-04-21        kinaba: 	DWORD SHGetFileInfoA(LPCSTR, DWORD, SHFILEINFOA*, UINT, UINT);
4e2933c620 2015-04-21        kinaba: 	DWORD SHGetFileInfoW(LPCWSTR, DWORD, SHFILEINFOW*, UINT, UINT);
4e2933c620 2015-04-21        kinaba: 	HRESULT SHQueryRecycleBinA(LPCSTR,  LPSHQUERYRBINFO);
4e2933c620 2015-04-21        kinaba: 	HRESULT SHQueryRecycleBinW(LPCWSTR,  LPSHQUERYRBINFO);
4e2933c620 2015-04-21        kinaba: 	HRESULT SHEmptyRecycleBinA(HWND, LPCSTR, DWORD);
4e2933c620 2015-04-21        kinaba: 	HRESULT SHEmptyRecycleBinW(HWND, LPCWSTR, DWORD);
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: version (Unicode) {
4e2933c620 2015-04-21        kinaba: 	alias NOTIFYICONDATAW NOTIFYICONDATA;
4e2933c620 2015-04-21        kinaba: 	alias SHELLEXECUTEINFOW SHELLEXECUTEINFO;
4e2933c620 2015-04-21        kinaba: 	alias SHFILEOPSTRUCTW SHFILEOPSTRUCT;
4e2933c620 2015-04-21        kinaba: 	alias SHFILEINFOW SHFILEINFO;
4e2933c620 2015-04-21        kinaba: 	alias DragQueryFileW DragQueryFile;
4e2933c620 2015-04-21        kinaba: 	alias ExtractAssociatedIconW ExtractAssociatedIcon;
4e2933c620 2015-04-21        kinaba: 	alias ExtractIconW ExtractIcon;
4e2933c620 2015-04-21        kinaba: 	alias ExtractIconExW ExtractIconEx;
4e2933c620 2015-04-21        kinaba: 	alias FindExecutableW FindExecutable;
4e2933c620 2015-04-21        kinaba: 	alias Shell_NotifyIconW Shell_NotifyIcon;
4e2933c620 2015-04-21        kinaba: 	alias ShellAboutW ShellAbout;
4e2933c620 2015-04-21        kinaba: 	alias ShellExecuteW ShellExecute;
4e2933c620 2015-04-21        kinaba: 	alias ShellExecuteExW ShellExecuteEx;
4e2933c620 2015-04-21        kinaba: 	alias SHFileOperationW SHFileOperation;
4e2933c620 2015-04-21        kinaba: 	alias SHGetFileInfoW SHGetFileInfo;
4e2933c620 2015-04-21        kinaba: 	alias SHQueryRecycleBinW SHQueryRecycleBin;
4e2933c620 2015-04-21        kinaba: 	alias SHEmptyRecycleBinW SHEmptyRecycleBin;
4e2933c620 2015-04-21        kinaba: } else {
4e2933c620 2015-04-21        kinaba: 	alias NOTIFYICONDATAA NOTIFYICONDATA;
4e2933c620 2015-04-21        kinaba: 	alias SHELLEXECUTEINFOA SHELLEXECUTEINFO;
4e2933c620 2015-04-21        kinaba: 	alias SHFILEOPSTRUCTA SHFILEOPSTRUCT;
4e2933c620 2015-04-21        kinaba: 	alias SHFILEINFOA SHFILEINFO;
4e2933c620 2015-04-21        kinaba: 	alias DragQueryFileA DragQueryFile;
4e2933c620 2015-04-21        kinaba: 	alias ExtractAssociatedIconA ExtractAssociatedIcon;
4e2933c620 2015-04-21        kinaba: 	alias ExtractIconA ExtractIcon;
4e2933c620 2015-04-21        kinaba: 	alias ExtractIconExA ExtractIconEx;
4e2933c620 2015-04-21        kinaba: 	alias FindExecutableA FindExecutable;
4e2933c620 2015-04-21        kinaba: 	alias Shell_NotifyIconA Shell_NotifyIcon;
4e2933c620 2015-04-21        kinaba: 	alias ShellAboutA ShellAbout;
4e2933c620 2015-04-21        kinaba: 	alias ShellExecuteA ShellExecute;
4e2933c620 2015-04-21        kinaba: 	alias ShellExecuteExA ShellExecuteEx;
4e2933c620 2015-04-21        kinaba: 	alias SHFileOperationA SHFileOperation;
4e2933c620 2015-04-21        kinaba: 	alias SHGetFileInfoA SHGetFileInfo;
4e2933c620 2015-04-21        kinaba: 	alias SHQueryRecycleBinA SHQueryRecycleBin;
4e2933c620 2015-04-21        kinaba: 	alias SHEmptyRecycleBinA SHEmptyRecycleBin;
c2b7a98c21 2011-02-23        kinaba: }
c2b7a98c21 2011-02-23        kinaba: 
4e2933c620 2015-04-21        kinaba: alias NOTIFYICONDATA* PNOTIFYICONDATA;
4e2933c620 2015-04-21        kinaba: alias SHELLEXECUTEINFO* LPSHELLEXECUTEINFO;
4e2933c620 2015-04-21        kinaba: alias SHFILEOPSTRUCT* LPSHFILEOPSTRUCT;