c2b7a98c21 2011-02-23 kinaba: module win32.ansi.shellapi; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // Translated from Microsoft Platform SDK August 2001 Edition c2b7a98c21 2011-02-23 kinaba: // by Y.Tomino (demoonlit@inter7.jp) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: import win32.ansi.winuser; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef _INC_SHELLAPI c2b7a98c21 2011-02-23 kinaba: // #define _INC_SHELLAPI c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef WINSHELLAPI c2b7a98c21 2011-02-23 kinaba: // #if !defined(_SHELL32_) c2b7a98c21 2011-02-23 kinaba: // #define WINSHELLAPI DECLSPEC_IMPORT c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #endif // WINSHELLAPI c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef SHSTDAPI c2b7a98c21 2011-02-23 kinaba: // #if !defined(_SHELL32_) c2b7a98c21 2011-02-23 kinaba: // #define SHSTDAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE c2b7a98c21 2011-02-23 kinaba: // #define SHSTDAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #endif // SHSTDAPI c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef SHDOCAPI c2b7a98c21 2011-02-23 kinaba: // #if !defined(_SHDOCVW_) c2b7a98c21 2011-02-23 kinaba: // #define SHDOCAPI EXTERN_C DECLSPEC_IMPORT HRESULT STDAPICALLTYPE c2b7a98c21 2011-02-23 kinaba: // #define SHDOCAPI_(type) EXTERN_C DECLSPEC_IMPORT type STDAPICALLTYPE c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #endif // SHDOCAPI c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if !defined(_WIN64) c2b7a98c21 2011-02-23 kinaba: align(1): c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef __cplusplus c2b7a98c21 2011-02-23 kinaba: // extern "C" { /* Assume C declarations for C++ */ c2b7a98c21 2011-02-23 kinaba: // #endif /* __cplusplus */ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias void* HDROP; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export UINT DragQueryFileA(HDROP,UINT,LPSTR,UINT); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export UINT DragQueryFileW(HDROP,UINT,LPWSTR,UINT); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias DragQueryFileA DragQueryFile; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: extern(Windows) export BOOL DragQueryPoint(HDROP,LPPOINT); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export void DragFinish(HDROP); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export void DragAcceptFiles(HWND,BOOL); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HINSTANCE ShellExecuteA(HWND hwnd, LPCSTR lpOperation, LPCSTR lpFile, LPCSTR lpParameters, LPCSTR lpDirectory, INT nShowCmd); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HINSTANCE ShellExecuteW(HWND hwnd, LPCWSTR lpOperation, LPCWSTR lpFile, LPCWSTR lpParameters, LPCWSTR lpDirectory, INT nShowCmd); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias ShellExecuteA ShellExecute; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HINSTANCE FindExecutableA(LPCSTR lpFile, LPCSTR lpDirectory, LPSTR lpResult); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HINSTANCE FindExecutableW(LPCWSTR lpFile, LPCWSTR lpDirectory, LPWSTR lpResult); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias FindExecutableA FindExecutable; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: extern(Windows) export LPWSTR * CommandLineToArgvW(LPCWSTR lpCmdLine, int*pNumArgs); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export INT ShellAboutA(HWND hWnd, LPCSTR szApp, LPCSTR szOtherStuff, HICON hIcon); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export INT ShellAboutW(HWND hWnd, LPCWSTR szApp, LPCWSTR szOtherStuff, HICON hIcon); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias ShellAboutA ShellAbout; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HICON DuplicateIcon(HINSTANCE hInst, HICON hIcon); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HICON ExtractAssociatedIconA(HINSTANCE hInst, LPSTR lpIconPath, LPWORD lpiIcon); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HICON ExtractAssociatedIconW(HINSTANCE hInst, LPWSTR lpIconPath, LPWORD lpiIcon); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias ExtractAssociatedIconA ExtractAssociatedIcon; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HICON ExtractIconA(HINSTANCE hInst, LPCSTR lpszExeFileName, UINT nIconIndex); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HICON ExtractIconW(HINSTANCE hInst, LPCWSTR lpszExeFileName, UINT nIconIndex); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias ExtractIconA ExtractIcon; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if(WINVER >= 0x0400) c2b7a98c21 2011-02-23 kinaba: struct _DRAGINFOA { c2b7a98c21 2011-02-23 kinaba: UINT uSize; c2b7a98c21 2011-02-23 kinaba: POINT pt; c2b7a98c21 2011-02-23 kinaba: BOOL fNC; c2b7a98c21 2011-02-23 kinaba: LPSTR lpFileList; c2b7a98c21 2011-02-23 kinaba: DWORD grfKeyState; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _DRAGINFOA DRAGINFOA; c2b7a98c21 2011-02-23 kinaba: alias _DRAGINFOA* LPDRAGINFOA; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _DRAGINFOW { c2b7a98c21 2011-02-23 kinaba: UINT uSize; c2b7a98c21 2011-02-23 kinaba: POINT pt; c2b7a98c21 2011-02-23 kinaba: BOOL fNC; c2b7a98c21 2011-02-23 kinaba: LPWSTR lpFileList; c2b7a98c21 2011-02-23 kinaba: DWORD grfKeyState; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _DRAGINFOW DRAGINFOW; c2b7a98c21 2011-02-23 kinaba: alias _DRAGINFOW* LPDRAGINFOW; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias DRAGINFOA DRAGINFO; c2b7a98c21 2011-02-23 kinaba: alias LPDRAGINFOA LPDRAGINFO; c2b7a98c21 2011-02-23 kinaba: // #endif // UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { ABM_NEW = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ABM_REMOVE = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ABM_QUERYPOS = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ABM_SETPOS = 0x00000003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ABM_GETSTATE = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ABM_GETTASKBARPOS = 0x00000005 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ABM_ACTIVATE = 0x00000006 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ABM_GETAUTOHIDEBAR = 0x00000007 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ABM_SETAUTOHIDEBAR = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { ABM_WINDOWPOSCHANGED = 0x0000009 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ABM_SETSTATE = 0x0000000a } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { ABN_STATECHANGE = 0x0000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ABN_POSCHANGED = 0x0000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ABN_FULLSCREENAPP = 0x0000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ABN_WINDOWARRANGE = 0x0000003 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { ABS_AUTOHIDE = 0x0000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ABS_ALWAYSONTOP = 0x0000002 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { ABE_LEFT = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ABE_TOP = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ABE_RIGHT = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { ABE_BOTTOM = 3 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _AppBarData { c2b7a98c21 2011-02-23 kinaba: DWORD cbSize; c2b7a98c21 2011-02-23 kinaba: HWND hWnd; c2b7a98c21 2011-02-23 kinaba: UINT uCallbackMessage; c2b7a98c21 2011-02-23 kinaba: UINT uEdge; c2b7a98c21 2011-02-23 kinaba: RECT rc; c2b7a98c21 2011-02-23 kinaba: LPARAM lParam; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _AppBarData APPBARDATA; c2b7a98c21 2011-02-23 kinaba: alias _AppBarData* PAPPBARDATA; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export UINT_PTR SHAppBarMessage(DWORD dwMessage, PAPPBARDATA pData); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export DWORD DoEnvironmentSubstA(LPSTR szString, UINT cchString); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export DWORD DoEnvironmentSubstW(LPWSTR szString, UINT cchString); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias DoEnvironmentSubstA DoEnvironmentSubst; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define EIRESID(x) (-1 * (int)(x)) c2b7a98c21 2011-02-23 kinaba: extern(Windows) export UINT ExtractIconExA(LPCSTR lpszFile, int nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIcons); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export UINT ExtractIconExW(LPCWSTR lpszFile, int nIconIndex, HICON *phiconLarge, HICON *phiconSmall, UINT nIcons); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias ExtractIconExA ExtractIconEx; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef FO_MOVE //these need to be kept in sync with the ones in shlobj.h c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { FO_MOVE = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FO_COPY = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FO_DELETE = 0x0003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FO_RENAME = 0x0004 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { FOF_MULTIDESTFILES = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FOF_CONFIRMMOUSE = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FOF_SILENT = 0x0004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FOF_RENAMEONCOLLISION = 0x0008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FOF_NOCONFIRMATION = 0x0010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FOF_WANTMAPPINGHANDLE = 0x0020 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { FOF_ALLOWUNDO = 0x0040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FOF_FILESONLY = 0x0080 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FOF_SIMPLEPROGRESS = 0x0100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FOF_NOCONFIRMMKDIR = 0x0200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FOF_NOERRORUI = 0x0400 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FOF_NOCOPYSECURITYATTRIBS = 0x0800 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FOF_NORECURSION = 0x1000 } c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_IE >= 0x0500) c2b7a98c21 2011-02-23 kinaba: enum : uint { FOF_NO_CONNECTED_ELEMENTS = 0x2000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { FOF_WANTNUKEWARNING = 0x4000 } c2b7a98c21 2011-02-23 kinaba: // #endif // (_WIN32_IE >= 0x500) c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_WINNT >= 0x0501) c2b7a98c21 2011-02-23 kinaba: enum : uint { FOF_NORECURSEREPARSE = 0x8000 } c2b7a98c21 2011-02-23 kinaba: // #endif // (_WIN32_WINNT >= 0x501) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias WORD FILEOP_FLAGS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { PO_DELETE = 0x0013 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PO_RENAME = 0x0014 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PO_PORTCHANGE = 0x0020 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { PO_REN_PORT = 0x0034 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias WORD PRINTEROP_FLAGS; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // FO_MOVE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SHFILEOPSTRUCTA { c2b7a98c21 2011-02-23 kinaba: HWND hwnd; c2b7a98c21 2011-02-23 kinaba: UINT wFunc; c2b7a98c21 2011-02-23 kinaba: LPCSTR pFrom; c2b7a98c21 2011-02-23 kinaba: LPCSTR pTo; c2b7a98c21 2011-02-23 kinaba: FILEOP_FLAGS fFlags; c2b7a98c21 2011-02-23 kinaba: BOOL fAnyOperationsAborted; c2b7a98c21 2011-02-23 kinaba: LPVOID hNameMappings; c2b7a98c21 2011-02-23 kinaba: LPCSTR lpszProgressTitle; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SHFILEOPSTRUCTA SHFILEOPSTRUCTA; c2b7a98c21 2011-02-23 kinaba: alias _SHFILEOPSTRUCTA* LPSHFILEOPSTRUCTA; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SHFILEOPSTRUCTW { c2b7a98c21 2011-02-23 kinaba: HWND hwnd; c2b7a98c21 2011-02-23 kinaba: UINT wFunc; c2b7a98c21 2011-02-23 kinaba: LPCWSTR pFrom; c2b7a98c21 2011-02-23 kinaba: LPCWSTR pTo; c2b7a98c21 2011-02-23 kinaba: FILEOP_FLAGS fFlags; c2b7a98c21 2011-02-23 kinaba: BOOL fAnyOperationsAborted; c2b7a98c21 2011-02-23 kinaba: LPVOID hNameMappings; c2b7a98c21 2011-02-23 kinaba: LPCWSTR lpszProgressTitle; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SHFILEOPSTRUCTW SHFILEOPSTRUCTW; c2b7a98c21 2011-02-23 kinaba: alias _SHFILEOPSTRUCTW* LPSHFILEOPSTRUCTW; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias SHFILEOPSTRUCTA SHFILEOPSTRUCT; c2b7a98c21 2011-02-23 kinaba: alias LPSHFILEOPSTRUCTA LPSHFILEOPSTRUCT; c2b7a98c21 2011-02-23 kinaba: // #endif // UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export int SHFileOperationA(LPSHFILEOPSTRUCTA lpFileOp); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export int SHFileOperationW(LPSHFILEOPSTRUCTW lpFileOp); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias SHFileOperationA SHFileOperation; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: extern(Windows) export void SHFreeNameMappings(HANDLE hNameMappings); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SHNAMEMAPPINGA { c2b7a98c21 2011-02-23 kinaba: LPSTR pszOldPath; c2b7a98c21 2011-02-23 kinaba: LPSTR pszNewPath; c2b7a98c21 2011-02-23 kinaba: int cchOldPath; c2b7a98c21 2011-02-23 kinaba: int cchNewPath; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SHNAMEMAPPINGA SHNAMEMAPPINGA; c2b7a98c21 2011-02-23 kinaba: alias _SHNAMEMAPPINGA* LPSHNAMEMAPPINGA; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SHNAMEMAPPINGW { c2b7a98c21 2011-02-23 kinaba: LPWSTR pszOldPath; c2b7a98c21 2011-02-23 kinaba: LPWSTR pszNewPath; c2b7a98c21 2011-02-23 kinaba: int cchOldPath; c2b7a98c21 2011-02-23 kinaba: int cchNewPath; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SHNAMEMAPPINGW SHNAMEMAPPINGW; c2b7a98c21 2011-02-23 kinaba: alias _SHNAMEMAPPINGW* LPSHNAMEMAPPINGW; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias SHNAMEMAPPINGA SHNAMEMAPPING; c2b7a98c21 2011-02-23 kinaba: alias LPSHNAMEMAPPINGA LPSHNAMEMAPPING; c2b7a98c21 2011-02-23 kinaba: // #endif // UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_ERR_FNF = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_ERR_PNF = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_ERR_ACCESSDENIED = 5 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_ERR_OOM = 8 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_ERR_DLLNOTFOUND = 32 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif /* WINVER >= 0x0400 */ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_ERR_SHARE = 26 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_ERR_ASSOCINCOMPLETE = 27 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_ERR_DDETIMEOUT = 28 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_ERR_DDEFAIL = 29 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_ERR_DDEBUSY = 30 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SE_ERR_NOASSOC = 31 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if(WINVER >= 0x0400) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SEE_MASK_CLASSNAME = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEE_MASK_CLASSKEY = 0x00000003 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SEE_MASK_IDLIST = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEE_MASK_INVOKEIDLIST = 0x0000000c } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEE_MASK_ICON = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEE_MASK_HOTKEY = 0x00000020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEE_MASK_NOCLOSEPROCESS = 0x00000040 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEE_MASK_CONNECTNETDRV = 0x00000080 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEE_MASK_FLAG_DDEWAIT = 0x00000100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEE_MASK_DOENVSUBST = 0x00000200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEE_MASK_FLAG_NO_UI = 0x00000400 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEE_MASK_UNICODE = 0x00004000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEE_MASK_NO_CONSOLE = 0x00008000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEE_MASK_ASYNCOK = 0x00100000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEE_MASK_HMONITOR = 0x00200000 } c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_IE >= 0x0500) c2b7a98c21 2011-02-23 kinaba: enum : uint { SEE_MASK_NOQUERYCLASSSTORE = 0x01000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SEE_MASK_WAITFORINPUTIDLE = 0x02000000 } c2b7a98c21 2011-02-23 kinaba: // #endif // (_WIN32_IE >= 0x500) c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_IE >= 0x0560) c2b7a98c21 2011-02-23 kinaba: enum : uint { SEE_MASK_FLAG_LOG_USAGE = 0x04000000 } c2b7a98c21 2011-02-23 kinaba: // #endif // (_WIN32_IE >= 0x560) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef DUMMYUNIONNAME c2b7a98c21 2011-02-23 kinaba: // #ifdef NONAMELESSUNION c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #define DUMMYUNIONNAME c2b7a98c21 2011-02-23 kinaba: // #define DUMMYUNIONNAME2 c2b7a98c21 2011-02-23 kinaba: // #define DUMMYUNIONNAME3 c2b7a98c21 2011-02-23 kinaba: // #define DUMMYUNIONNAME4 c2b7a98c21 2011-02-23 kinaba: // #define DUMMYUNIONNAME5 c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #endif // DUMMYUNIONNAME c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SHELLEXECUTEINFOA { c2b7a98c21 2011-02-23 kinaba: DWORD cbSize; c2b7a98c21 2011-02-23 kinaba: ULONG fMask; c2b7a98c21 2011-02-23 kinaba: HWND hwnd; c2b7a98c21 2011-02-23 kinaba: LPCSTR lpVerb; c2b7a98c21 2011-02-23 kinaba: LPCSTR lpFile; c2b7a98c21 2011-02-23 kinaba: LPCSTR lpParameters; c2b7a98c21 2011-02-23 kinaba: LPCSTR lpDirectory; c2b7a98c21 2011-02-23 kinaba: int nShow; c2b7a98c21 2011-02-23 kinaba: HINSTANCE hInstApp; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: LPVOID lpIDList; c2b7a98c21 2011-02-23 kinaba: LPCSTR lpClass; c2b7a98c21 2011-02-23 kinaba: HKEY hkeyClass; c2b7a98c21 2011-02-23 kinaba: DWORD dwHotKey; c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: HANDLE hIcon; c2b7a98c21 2011-02-23 kinaba: HANDLE hMonitor; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: HANDLE hProcess; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SHELLEXECUTEINFOA SHELLEXECUTEINFOA; c2b7a98c21 2011-02-23 kinaba: alias _SHELLEXECUTEINFOA* LPSHELLEXECUTEINFOA; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SHELLEXECUTEINFOW { c2b7a98c21 2011-02-23 kinaba: DWORD cbSize; c2b7a98c21 2011-02-23 kinaba: ULONG fMask; c2b7a98c21 2011-02-23 kinaba: HWND hwnd; c2b7a98c21 2011-02-23 kinaba: LPCWSTR lpVerb; c2b7a98c21 2011-02-23 kinaba: LPCWSTR lpFile; c2b7a98c21 2011-02-23 kinaba: LPCWSTR lpParameters; c2b7a98c21 2011-02-23 kinaba: LPCWSTR lpDirectory; c2b7a98c21 2011-02-23 kinaba: int nShow; c2b7a98c21 2011-02-23 kinaba: HINSTANCE hInstApp; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: LPVOID lpIDList; c2b7a98c21 2011-02-23 kinaba: LPCWSTR lpClass; c2b7a98c21 2011-02-23 kinaba: HKEY hkeyClass; c2b7a98c21 2011-02-23 kinaba: DWORD dwHotKey; c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: HANDLE hIcon; c2b7a98c21 2011-02-23 kinaba: HANDLE hMonitor; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: HANDLE hProcess; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SHELLEXECUTEINFOW SHELLEXECUTEINFOW; c2b7a98c21 2011-02-23 kinaba: alias _SHELLEXECUTEINFOW* LPSHELLEXECUTEINFOW; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias SHELLEXECUTEINFOA SHELLEXECUTEINFO; c2b7a98c21 2011-02-23 kinaba: alias LPSHELLEXECUTEINFOA LPSHELLEXECUTEINFO; c2b7a98c21 2011-02-23 kinaba: // #endif // UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export BOOL ShellExecuteExA(LPSHELLEXECUTEINFOA lpExecInfo); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export BOOL ShellExecuteExW(LPSHELLEXECUTEINFOW lpExecInfo); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias ShellExecuteExA ShellExecuteEx; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: extern(Windows) export void WinExecErrorA(HWND hwnd, int error, LPCSTR lpstrFileName, LPCSTR lpstrTitle); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export void WinExecErrorW(HWND hwnd, int error, LPCWSTR lpstrFileName, LPCWSTR lpstrTitle); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias WinExecErrorA WinExecError; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SHCREATEPROCESSINFOW { c2b7a98c21 2011-02-23 kinaba: DWORD cbSize; c2b7a98c21 2011-02-23 kinaba: ULONG fMask; c2b7a98c21 2011-02-23 kinaba: HWND hwnd; c2b7a98c21 2011-02-23 kinaba: LPCWSTR pszFile; c2b7a98c21 2011-02-23 kinaba: LPCWSTR pszParameters; c2b7a98c21 2011-02-23 kinaba: LPCWSTR pszCurrentDirectory; c2b7a98c21 2011-02-23 kinaba: HANDLE hUserToken; c2b7a98c21 2011-02-23 kinaba: LPSECURITY_ATTRIBUTES lpProcessAttributes; c2b7a98c21 2011-02-23 kinaba: LPSECURITY_ATTRIBUTES lpThreadAttributes; c2b7a98c21 2011-02-23 kinaba: BOOL bInheritHandles; c2b7a98c21 2011-02-23 kinaba: DWORD dwCreationFlags; c2b7a98c21 2011-02-23 kinaba: LPSTARTUPINFOW lpStartupInfo; c2b7a98c21 2011-02-23 kinaba: LPPROCESS_INFORMATION lpProcessInformation; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SHCREATEPROCESSINFOW SHCREATEPROCESSINFOW; c2b7a98c21 2011-02-23 kinaba: alias _SHCREATEPROCESSINFOW* PSHCREATEPROCESSINFOW; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export BOOL SHCreateProcessAsUserW(PSHCREATEPROCESSINFOW pscpi); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SHQUERYRBINFO { c2b7a98c21 2011-02-23 kinaba: DWORD cbSize; c2b7a98c21 2011-02-23 kinaba: // #if !defined(_MAC) || defined(_MAC_INT_64) c2b7a98c21 2011-02-23 kinaba: __int64 i64Size; c2b7a98c21 2011-02-23 kinaba: __int64 i64NumItems; c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SHQUERYRBINFO SHQUERYRBINFO; c2b7a98c21 2011-02-23 kinaba: alias _SHQUERYRBINFO* LPSHQUERYRBINFO; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SHERB_NOCONFIRMATION = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHERB_NOPROGRESSUI = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHERB_NOSOUND = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HRESULT SHQueryRecycleBinA(LPCSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HRESULT SHQueryRecycleBinW(LPCWSTR pszRootPath, LPSHQUERYRBINFO pSHQueryRBInfo); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias SHQueryRecycleBinA SHQueryRecycleBin; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HRESULT SHEmptyRecycleBinA(HWND hwnd, LPCSTR pszRootPath, DWORD dwFlags); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HRESULT SHEmptyRecycleBinW(HWND hwnd, LPCWSTR pszRootPath, DWORD dwFlags); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias SHEmptyRecycleBinA SHEmptyRecycleBin; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _NOTIFYICONDATAA { c2b7a98c21 2011-02-23 kinaba: DWORD cbSize; c2b7a98c21 2011-02-23 kinaba: HWND hWnd; c2b7a98c21 2011-02-23 kinaba: UINT uID; c2b7a98c21 2011-02-23 kinaba: UINT uFlags; c2b7a98c21 2011-02-23 kinaba: UINT uCallbackMessage; c2b7a98c21 2011-02-23 kinaba: HICON hIcon; c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_IE < 0x0500) c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: CHAR szTip[128]; c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_IE >= 0x0500) c2b7a98c21 2011-02-23 kinaba: DWORD dwState; c2b7a98c21 2011-02-23 kinaba: DWORD dwStateMask; c2b7a98c21 2011-02-23 kinaba: CHAR szInfo[256]; c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: UINT uTimeout; c2b7a98c21 2011-02-23 kinaba: UINT uVersion; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: CHAR szInfoTitle[64]; c2b7a98c21 2011-02-23 kinaba: DWORD dwInfoFlags; c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_IE >= 0x600) c2b7a98c21 2011-02-23 kinaba: GUID guidItem; c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _NOTIFYICONDATAA NOTIFYICONDATAA; c2b7a98c21 2011-02-23 kinaba: alias _NOTIFYICONDATAA* PNOTIFYICONDATAA; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _NOTIFYICONDATAW { c2b7a98c21 2011-02-23 kinaba: DWORD cbSize; c2b7a98c21 2011-02-23 kinaba: HWND hWnd; c2b7a98c21 2011-02-23 kinaba: UINT uID; c2b7a98c21 2011-02-23 kinaba: UINT uFlags; c2b7a98c21 2011-02-23 kinaba: UINT uCallbackMessage; c2b7a98c21 2011-02-23 kinaba: HICON hIcon; c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_IE < 0x0500) c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: WCHAR szTip[128]; c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_IE >= 0x0500) c2b7a98c21 2011-02-23 kinaba: DWORD dwState; c2b7a98c21 2011-02-23 kinaba: DWORD dwStateMask; c2b7a98c21 2011-02-23 kinaba: WCHAR szInfo[256]; c2b7a98c21 2011-02-23 kinaba: union { c2b7a98c21 2011-02-23 kinaba: UINT uTimeout; c2b7a98c21 2011-02-23 kinaba: UINT uVersion; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: WCHAR szInfoTitle[64]; c2b7a98c21 2011-02-23 kinaba: DWORD dwInfoFlags; c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_IE >= 0x600) c2b7a98c21 2011-02-23 kinaba: GUID guidItem; c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _NOTIFYICONDATAW NOTIFYICONDATAW; c2b7a98c21 2011-02-23 kinaba: alias _NOTIFYICONDATAW* PNOTIFYICONDATAW; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias NOTIFYICONDATAA NOTIFYICONDATA; c2b7a98c21 2011-02-23 kinaba: alias PNOTIFYICONDATAA PNOTIFYICONDATA; c2b7a98c21 2011-02-23 kinaba: // #endif // UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define NOTIFYICONDATAA_V1_SIZE FIELD_OFFSET(NOTIFYICONDATAA, szTip[64]) c2b7a98c21 2011-02-23 kinaba: // #define NOTIFYICONDATAW_V1_SIZE FIELD_OFFSET(NOTIFYICONDATAW, szTip[64]) c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #define NOTIFYICONDATA_V1_SIZE NOTIFYICONDATAA_V1_SIZE c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #define NOTIFYICONDATAA_V2_SIZE FIELD_OFFSET(NOTIFYICONDATAA, guidItem) c2b7a98c21 2011-02-23 kinaba: // #define NOTIFYICONDATAW_V2_SIZE FIELD_OFFSET(NOTIFYICONDATAW, guidItem) c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: // #define NOTIFYICONDATA_V2_SIZE NOTIFYICONDATAA_V2_SIZE c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_IE >= 0x0500) c2b7a98c21 2011-02-23 kinaba: enum : uint { NIN_SELECT = WM_USER + 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { NINF_KEY = 0x1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { NIN_KEYSELECT = NIN_SELECT | NINF_KEY } c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_IE >= 0x0501) c2b7a98c21 2011-02-23 kinaba: enum : uint { NIN_BALLOONSHOW = WM_USER + 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { NIN_BALLOONHIDE = WM_USER + 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { NIN_BALLOONTIMEOUT = WM_USER + 4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { NIN_BALLOONUSERCLICK = WM_USER + 5 } c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { NIM_ADD = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { NIM_MODIFY = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { NIM_DELETE = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_IE >= 0x0500) c2b7a98c21 2011-02-23 kinaba: enum : uint { NIM_SETFOCUS = 0x00000003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { NIM_SETVERSION = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { NOTIFYICON_VERSION = 3 } c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { NIF_MESSAGE = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { NIF_ICON = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { NIF_TIP = 0x00000004 } c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_IE >= 0x0500) c2b7a98c21 2011-02-23 kinaba: enum : uint { NIF_STATE = 0x00000008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { NIF_INFO = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_IE >= 0x600) c2b7a98c21 2011-02-23 kinaba: enum : uint { NIF_GUID = 0x00000020 } c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_IE >= 0x0500) c2b7a98c21 2011-02-23 kinaba: enum : uint { NIS_HIDDEN = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { NIS_SHAREDICON = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { NIIF_NONE = 0x00000000 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { NIIF_INFO = 0x00000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { NIIF_WARNING = 0x00000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { NIIF_ERROR = 0x00000003 } c2b7a98c21 2011-02-23 kinaba: enum : uint { NIIF_ICON_MASK = 0x0000000F } c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_IE >= 0x0501) c2b7a98c21 2011-02-23 kinaba: enum : uint { NIIF_NOSOUND = 0x00000010 } c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export BOOL Shell_NotifyIconA(DWORD dwMessage, PNOTIFYICONDATAA lpData); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export BOOL Shell_NotifyIconW(DWORD dwMessage, PNOTIFYICONDATAW lpData); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias Shell_NotifyIconA Shell_NotifyIcon; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifndef SHFILEINFO_DEFINED c2b7a98c21 2011-02-23 kinaba: // #define SHFILEINFO_DEFINED c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SHFILEINFOA { c2b7a98c21 2011-02-23 kinaba: HICON hIcon; c2b7a98c21 2011-02-23 kinaba: int iIcon; c2b7a98c21 2011-02-23 kinaba: DWORD dwAttributes; c2b7a98c21 2011-02-23 kinaba: CHAR szDisplayName[MAX_PATH]; c2b7a98c21 2011-02-23 kinaba: CHAR szTypeName[80]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SHFILEINFOA SHFILEINFOA; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: struct _SHFILEINFOW { c2b7a98c21 2011-02-23 kinaba: HICON hIcon; c2b7a98c21 2011-02-23 kinaba: int iIcon; c2b7a98c21 2011-02-23 kinaba: DWORD dwAttributes; c2b7a98c21 2011-02-23 kinaba: WCHAR szDisplayName[MAX_PATH]; c2b7a98c21 2011-02-23 kinaba: WCHAR szTypeName[80]; c2b7a98c21 2011-02-23 kinaba: } c2b7a98c21 2011-02-23 kinaba: alias _SHFILEINFOW SHFILEINFOW; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // ... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias SHFILEINFOA SHFILEINFO; c2b7a98c21 2011-02-23 kinaba: // #endif // UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif // !SHFILEINFO_DEFINED c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGFI_ICON = 0x000000100 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGFI_DISPLAYNAME = 0x000000200 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGFI_TYPENAME = 0x000000400 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGFI_ATTRIBUTES = 0x000000800 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGFI_ICONLOCATION = 0x000001000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGFI_EXETYPE = 0x000002000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGFI_SYSICONINDEX = 0x000004000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGFI_LINKOVERLAY = 0x000008000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGFI_SELECTED = 0x000010000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGFI_ATTR_SPECIFIED = 0x000020000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGFI_LARGEICON = 0x000000000 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGFI_SMALLICON = 0x000000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGFI_OPENICON = 0x000000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGFI_SHELLICONSIZE = 0x000000004 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGFI_PIDL = 0x000000008 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGFI_USEFILEATTRIBUTES = 0x000000010 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_IE >= 0x0500) c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGFI_ADDOVERLAYS = 0x000000020 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGFI_OVERLAYINDEX = 0x000000040 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export DWORD_PTR SHGetFileInfoA(LPCSTR pszPath, DWORD dwFileAttributes, SHFILEINFOA *psfi, UINT cbFileInfo, UINT uFlags); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export DWORD_PTR SHGetFileInfoW(LPCWSTR pszPath, DWORD dwFileAttributes, SHFILEINFOW *psfi, UINT cbFileInfo, UINT uFlags); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias SHGetFileInfoA SHGetFileInfo; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias SHGetDiskFreeSpaceEx SHGetDiskFreeSpace; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export BOOL SHGetDiskFreeSpaceExA(LPCSTR pszDirectoryName, ULARGE_INTEGER* pulFreeBytesAvailableToCaller, ULARGE_INTEGER* pulTotalNumberOfBytes, ULARGE_INTEGER* pulTotalNumberOfFreeBytes); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export BOOL SHGetDiskFreeSpaceExW(LPCWSTR pszDirectoryName, ULARGE_INTEGER* pulFreeBytesAvailableToCaller, ULARGE_INTEGER* pulTotalNumberOfBytes, ULARGE_INTEGER* pulTotalNumberOfFreeBytes); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias SHGetDiskFreeSpaceExA SHGetDiskFreeSpaceEx; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: extern(Windows) export BOOL SHGetNewLinkInfoA(LPCSTR pszLinkTo, LPCSTR pszDir, LPSTR pszName, BOOL *pfMustCopy, UINT uFlags); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export BOOL SHGetNewLinkInfoW(LPCWSTR pszLinkTo, LPCWSTR pszDir, LPWSTR pszName, BOOL *pfMustCopy, UINT uFlags); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias SHGetNewLinkInfoA SHGetNewLinkInfo; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGNLI_PIDL = 0x000000001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGNLI_PREFIXNAME = 0x000000002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGNLI_NOUNIQUE = 0x000000004 } c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_IE >= 0x0501) c2b7a98c21 2011-02-23 kinaba: enum : uint { SHGNLI_NOLNK = 0x000000008 } c2b7a98c21 2011-02-23 kinaba: // #endif // _WIN2_IE >= 0x0501 c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { PRINTACTION_OPEN = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PRINTACTION_PROPERTIES = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PRINTACTION_NETINSTALL = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PRINTACTION_NETINSTALLLINK = 3 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PRINTACTION_TESTPAGE = 4 } c2b7a98c21 2011-02-23 kinaba: enum : uint { PRINTACTION_OPENNETPRN = 5 } c2b7a98c21 2011-02-23 kinaba: // #ifdef WINNT c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export BOOL SHInvokePrinterCommandA(HWND hwnd, UINT uAction, LPCSTR lpBuf1, LPCSTR lpBuf2, BOOL fModal); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export BOOL SHInvokePrinterCommandW(HWND hwnd, UINT uAction, LPCWSTR lpBuf1, LPCWSTR lpBuf2, BOOL fModal); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias SHInvokePrinterCommandA SHInvokePrinterCommand; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif /* WINVER >= 0x0400 */ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if (_WIN32_WINNT >= 0x0500) || (_WIN32_WINDOWS >= 0x0500) c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HRESULT SHLoadNonloadedIconOverlayIdentifiers(); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HRESULT SHIsFileAvailableOffline(LPCWSTR pwszPath, LPDWORD pdwStatus); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { OFFLINE_STATUS_LOCAL = 0x0001 } c2b7a98c21 2011-02-23 kinaba: enum : uint { OFFLINE_STATUS_REMOTE = 0x0002 } c2b7a98c21 2011-02-23 kinaba: enum : uint { OFFLINE_STATUS_INCOMPLETE = 0x0004 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HRESULT SHSetLocalizedName(LPWSTR pszPath, LPCWSTR pszResModule, int idsRes); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if _WIN32_IE >= 0x0600 c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HRESULT SHEnumerateUnreadMailAccountsA(HKEY hKeyUser, DWORD dwIndex, LPSTR pszMailAddress, int cchMailAddress); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HRESULT SHEnumerateUnreadMailAccountsW(HKEY hKeyUser, DWORD dwIndex, LPWSTR pszMailAddress, int cchMailAddress); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias SHEnumerateUnreadMailAccountsA SHEnumerateUnreadMailAccounts; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HRESULT SHGetUnreadMailCountA(HKEY hKeyUser, LPCSTR pszMailAddress, DWORD *pdwCount, FILETIME *pFileTime, LPSTR pszShellExecuteCommand, int cchShellExecuteCommand); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HRESULT SHGetUnreadMailCountW(HKEY hKeyUser, LPCWSTR pszMailAddress, DWORD *pdwCount, FILETIME *pFileTime, LPWSTR pszShellExecuteCommand, int cchShellExecuteCommand); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias SHGetUnreadMailCountA SHGetUnreadMailCount; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HRESULT SHSetUnreadMailCountA(LPCSTR pszMailAddress, DWORD dwCount, LPCSTR pszShellExecuteCommand); c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HRESULT SHSetUnreadMailCountW(LPCWSTR pszMailAddress, DWORD dwCount, LPCWSTR pszShellExecuteCommand); c2b7a98c21 2011-02-23 kinaba: // #ifdef UNICODE c2b7a98c21 2011-02-23 kinaba: // #... c2b7a98c21 2011-02-23 kinaba: // #else c2b7a98c21 2011-02-23 kinaba: alias SHSetUnreadMailCountA SHSetUnreadMailCount; c2b7a98c21 2011-02-23 kinaba: // #endif // !UNICODE c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif /* _WIN32_IE >= 0x0600 */ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if _WIN32_IE >= 0x0600 c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) export HRESULT SHGetImageList(int iImageList, REFIID riid, void **ppvObj); c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: enum : uint { SHIL_LARGE = 0 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHIL_SMALL = 1 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHIL_EXTRALARGE = 2 } c2b7a98c21 2011-02-23 kinaba: enum : uint { SHIL_SYSSMALL = 3 } c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: alias SHIL_SYSSMALL SHIL_LAST; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: extern(Windows) alias HRESULT function( LPCWSTR pszPath) PFNCANSHAREFOLDERW; c2b7a98c21 2011-02-23 kinaba: extern(Windows) alias HRESULT function( HWND hwndParent, LPCWSTR pszPath) PFNSHOWSHAREFOLDERUIW; c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif /* _WIN32_IE >= 0x0600 */ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #ifdef __cplusplus c2b7a98c21 2011-02-23 kinaba: // } c2b7a98c21 2011-02-23 kinaba: // #endif /* __cplusplus */ c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #if !defined(_WIN64) c2b7a98c21 2011-02-23 kinaba: align: c2b7a98c21 2011-02-23 kinaba: // #endif c2b7a98c21 2011-02-23 kinaba: c2b7a98c21 2011-02-23 kinaba: // #endif /* _INC_SHELLAPI */ c2b7a98c21 2011-02-23 kinaba: