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;