home *** CD-ROM | disk | FTP | other *** search
- #ifndef _GNU_SHELLAPI
- #define _GNU_SHELLAPI
- // SHELLAPI.H definitions and structures
- #ifdef UNICODE
- #define DragQueryFile DragQueryFileW
- #define ShellExecute ShellExecuteW
- #define FindExecutable FindExecutableW
- #define ShellAbout ShellAboutW
- #define ExtractAssociatedIcon ExtractAssociatedIconW
- #define ExtractIcon ExtractIconW
- #define DoEnvironmentSubst DoEnvironmentSubstW
- #define FindEnvironmentString FindEnvironmentStringW
- #define ExtractIconEx ExtractIconExW
- #define SHFileOperation SHFileOperationW
- #define ShellExecuteEx ShellExecuteExW
- #define WinExecError WinExecErrorW
- #define Shell_NotifyIcon Shell_NotifyIconW
- #define SHGetFileInfo SHGetFileInfoW
- #define SHGetNewLinkInfo SHGetNewLinkInfoW
- #else
- #define DragQueryFile DragQueryFileA
- #define ShellExecute ShellExecuteA
- #define FindExecutable FindExecutableA
- #define ShellAbout ShellAboutA
- #define ExtractAssociatedIcon ExtractAssociatedIconA
- #define ExtractIcon ExtractIconA
- #define DoEnvironmentSubst DoEnvironmentSubstA
- #define FindEnvironmentString FindEnvironmentStringA
- #define ExtractIconEx ExtractIconExA
- #define SHFileOperation SHFileOperationA
- #define ShellExecuteEx ShellExecuteExA
- #define WinExecError WinExecErrorA
- #define Shell_NotifyIcon Shell_NotifyIconA
- #define SHGetFileInfo SHGetFileInfoA
- #define SHGetNewLinkInfo SHGetNewLinkInfoA
- #endif
- typedef struct _DRAGINFOA {
- UINT uSize;
- POINT pt;
- BOOL fNC;
- LPSTR lpFileList;
- DWORD grfKeyState;
- } DRAGINFOA, * LPDRAGINFOA;
- typedef struct _DRAGINFOW {
- UINT uSize;
- POINT pt;
- BOOL fNC;
- LPWSTR lpFileList;
- DWORD grfKeyState;
- } DRAGINFOW, * LPDRAGINFOW;
- typedef struct _AppBarData {
- DWORD cbSize;
- HWND hWnd;
- UINT uCallbackMessage;
- UINT uEdge;
- RECT rc;
- LPARAM lParam;
- } APPBARDATA, *PAPPBARDATA;
- typedef struct tagSHFILEOPSTRUCTA {
- HWND hwnd;
- UINT wFunc;
- LPCSTR pFrom;
- LPCSTR pTo;
- FILEOP_FLAGS fFlags;
- BOOL fAnyOperationsAborted;
- LPVOID hNameMappings;
- LPCSTR lpszProgressTitle;
- } SHFILEOPSTRUCTA, *LPSHFILEOPSTRUCTA;
- typedef struct tagSHFILEOPSTRUCTW {
- HWND hwnd;
- UINT wFunc;
- LPCWSTR pFrom;
- LPCWSTR pTo;
- FILEOP_FLAGS fFlags;
- BOOL fAnyOperationsAborted;
- LPVOID hNameMappings;
- LPCWSTR lpszProgressTitle;
- } SHFILEOPSTRUCTW, *LPSHFILEOPSTRUCTW;
- typedef struct _SHNAMEMAPPINGA {
- LPSTR pszOldPath;
- LPSTR pszNewPath;
- int cchOldPath;
- int cchNewPath;
- } SHNAMEMAPPINGA, *LPSHNAMEMAPPINGA;
- typedef struct _SHNAMEMAPPINGW {
- LPWSTR pszOldPath;
- LPWSTR pszNewPath;
- int cchOldPath;
- int cchNewPath;
- } SHNAMEMAPPINGW, *LPSHNAMEMAPPINGW;
- typedef struct _SHELLEXECUTEINFOA {
- DWORD cbSize;
- ULONG fMask;
- HWND hwnd;
- LPCSTR lpVerb;
- LPCSTR lpFile;
- LPCSTR lpParameters;
- LPCSTR lpDirectory;
- int nShow;
- HINSTANCE hInstApp;
- LPVOID lpIDList;
- LPCSTR lpClass;
- HKEY hkeyClass;
- DWORD dwHotKey;
- HANDLE hIcon;
- HANDLE hProcess;
- } SHELLEXECUTEINFOA, *LPSHELLEXECUTEINFOA;
- typedef struct _SHELLEXECUTEINFOW {
- DWORD cbSize;
- ULONG fMask;
- HWND hwnd;
- LPCWSTR lpVerb;
- LPCWSTR lpFile;
- LPCWSTR lpParameters;
- LPCWSTR lpDirectory;
- int nShow;
- HINSTANCE hInstApp;
- LPVOID lpIDList;
- LPCWSTR lpClass;
- HKEY hkeyClass;
- DWORD dwHotKey;
- HANDLE hIcon;
- HANDLE hProcess;
- } SHELLEXECUTEINFOW, *LPSHELLEXECUTEINFOW;
- typedef struct _NOTIFYICONDATAA {
- DWORD cbSize;
- HWND hWnd;
- UINT uID;
- UINT uFlags;
- UINT uCallbackMessage;
- HICON hIcon;
- CHAR szTip[64];
- } NOTIFYICONDATAA, *PNOTIFYICONDATAA;
- typedef struct _NOTIFYICONDATAW {
- DWORD cbSize;
- HWND hWnd;
- UINT uID;
- UINT uFlags;
- UINT uCallbackMessage;
- HICON hIcon;
- WCHAR szTip[64];
- } NOTIFYICONDATAW, *PNOTIFYICONDATAW;
- typedef struct _SHFILEINFOA {
- HICON hIcon;
- int iIcon;
- DWORD dwAttributes;
- CHAR szDisplayName[MAX_PATH];
- CHAR szTypeName[80];
- } SHFILEINFOA;
- typedef struct _SHFILEINFOW {
- HICON hIcon;
- int iIcon;
- DWORD dwAttributes;
- WCHAR szDisplayName[MAX_PATH];
- WCHAR szTypeName[80];
- } SHFILEINFOW;
- #ifdef UNICODE
- typedef DRAGINFOW DRAGINFO;
- typedef LPDRAGINFOW LPDRAGINFO;
- typedef NOTIFYICONDATAW NOTIFYICONDATA;
- typedef PNOTIFYICONDATAW PNOTIFYICONDATA;
- typedef SHELLEXECUTEINFOW SHELLEXECUTEINFO;
- typedef LPSHELLEXECUTEINFOW LPSHELLEXECUTEINFO;
- typedef SHFILEOPSTRUCTW SHFILEOPSTRUCT;
- typedef LPSHFILEOPSTRUCTW LPSHFILEOPSTRUCT;
- typedef SHNAMEMAPPINGW SHNAMEMAPPING;
- typedef LPSHNAMEMAPPINGW LPSHNAMEMAPPING;
- typedef SHFILEINFOW SHFILEINFO;
- #else
- typedef DRAGINFOA DRAGINFO;
- typedef LPDRAGINFOA LPDRAGINFO;
- typedef SHFILEOPSTRUCTA SHFILEOPSTRUCT;
- typedef LPSHFILEOPSTRUCTA LPSHFILEOPSTRUCT;
- typedef NOTIFYICONDATAA NOTIFYICONDATA;
- typedef PNOTIFYICONDATAA PNOTIFYICONDATA;
- typedef SHELLEXECUTEINFOA SHELLEXECUTEINFO;
- typedef LPSHELLEXECUTEINFOA LPSHELLEXECUTEINFO;
- typedef SHNAMEMAPPINGA SHNAMEMAPPING;
- typedef LPSHNAMEMAPPINGA LPSHNAMEMAPPING;
- typedef SHFILEINFOA SHFILEINFO;
- #endif
- #define SHGetNameMappingCount(h) DSA_GetItemCount(h)
- #define SHGetNameMappingPtr(h,i) (LPSHNAMEMAPPING)DSA_GetItemPtr(h,i)
- #define SHGNLI_PIDL 1
- #define SHGNLI_PREFIXNAME 2
- #define SE_ERR_FNF 2
- #define SE_ERR_PNF 3
- #define SE_ERR_ACCESSDENIED 5
- #define SE_ERR_OOM 8
- #define SE_ERR_DLLNOTFOUND 32
- #define SE_ERR_SHARE 26
- #define SE_ERR_ASSOCINCOMPLETE 27
- #define SE_ERR_DDETIMEOUT 28
- #define SE_ERR_DDEFAIL 29
- #define SE_ERR_DDEBUSY 30
- #define SE_ERR_NOASSOC 31
- #define SEE_MASK_CLASSNAME 1
- #define SEE_MASK_CLASSKEY 3
- #define SEE_MASK_IDLIST 4
- #define SEE_MASK_INVOKEIDLIST 0xc
- #define SEE_MASK_ICON 0x10
- #define SEE_MASK_HOTKEY 0x20
- #define SEE_MASK_NOCLOSEPROCESS 0x40
- #define SEE_MASK_CONNECTNETDRV 0x80
- #define SEE_MASK_FLAG_DDEWAIT 0x100
- #define SEE_MASK_DOENVSUBST 0x200
- #define SEE_MASK_FLAG_NO_UI 0x400
- #define SEE_MASK_UNICODE 0x10000
- #define NIM_ADD 0
- #define NIM_MODIFY 1
- #define NIM_DELETE 2
- #define NIF_MESSAGE 1
- #define NIF_ICON 2
- #define NIF_TIP 4
- #define ABM_NEW 0
- #define ABM_REMOVE 1
- #define ABM_QUERYPOS 2
- #define ABM_SETPOS 3
- #define ABM_GETSTATE 4
- #define ABM_GETTASKBARPOS 5
- #define ABM_ACTIVATE 6
- #define ABM_GETAUTOHIDEBAR 7
- #define ABM_SETAUTOHIDEBAR 8
- #define ABM_WINDOWPOSCHANGED 9
- #define ABN_STATECHANGE 0
- #define ABN_POSCHANGED 1
- #define ABN_FULLSCREENAPP 2
- #define ABN_WINDOWARRANGE 3
- #define ABS_AUTOHIDE 1
- #define ABS_ALWAYSONTOP 2
- #define ABE_LEFT 0
- #define ABE_TOP 1
- #define ABE_RIGHT 2
- #define ABE_BOTTOM 3
- #define PO_DELETE 0x13
- #define PO_RENAME 0x14
- #define PO_PORTCHANGE 0x20
- #define PO_REN_PORT 0x34
- #define EIRESID(x) (-1 * (int)(x))
- #define SHGFI_ICON 0x100
- #define SHGFI_DISPLAYNAME 0x200
- #define SHGFI_TYPENAME 0x400
- #define SHGFI_ATTRIBUTES 0x800
- #define SHGFI_ICONLOCATION 0x1000
- #define SHGFI_EXETYPE 0x2000
- #define SHGFI_SYSICONINDEX 0x4000
- #define SHGFI_LINKOVERLAY 0x8000
- #define SHGFI_SELECTED 0x10000
- #define SHGFI_LARGEICON 0
- #define SHGFI_SMALLICON 1
- #define SHGFI_OPENICON 2
- #define SHGFI_SHELLICONSIZE 4
- #define SHGFI_PIDL 8
- #define SHGFI_USEFILEATTRIBUTES 16
- #define SHGNLI_PIDL 1
- #define SHGNLI_PREFIXNAME 2
- #define FO_MOVE 1
- #define FO_COPY 2
- #define FO_DELETE 3
- #define FO_RENAME 4
- #define FOF_MULTIDESTFILES 1
- #define FOF_CONFIRMMOUSE 2
- #define FOF_SILENT 4
- #define FOF_RENAMEONCOLLISION 8
- #define FOF_NOCONFIRMATION 16
- #define FOF_WANTMAPPINGHANDLE 32
- #define FOF_ALLOWUNDO 64
- #define FOF_FILESONLY 128
- #define FOF_SIMPLEPROGRESS 256
- #define FOF_NOCONFIRMMKDIR 512
- typedef WORD FILEOP_FLAGS;
- typedef WORD PRINTEROP_FLAGS;
- typedef HANDLE HDROP;
- UINT APIENTRY DragQueryFileA(HDROP,UINT,LPSTR,UINT);
- UINT APIENTRY DragQueryFileW(HDROP,UINT,LPWSTR,UINT);
- UINT APIENTRY SHAppBarMessage(DWORD,PAPPBARDATA);
- DWORD APIENTRY DoEnvironmentSubstA(LPSTR,UINT);
- DWORD APIENTRY DoEnvironmentSubstW(LPWSTR,UINT);
- LPSTR APIENTRY FindEnvironmentStringA(LPSTR);
- LPWSTR APIENTRY FindEnvironmentStringW(LPWSTR);
- UINT WINAPI ExtractIconExA(LPCSTR,int,HICON *,HICON *,UINT);
- UINT WINAPI ExtractIconExW(LPCWSTR,int,HICON *,HICON *,UINT);
- int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA);
- int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW);
- void WINAPI SHFreeNameMappings(HANDLE);
- BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA);
- BOOL WINAPI ShellExecuteExW(LPSHELLEXECUTEINFOW);
- void WINAPI WinExecErrorA(HWND,int,LPCSTR,LPCSTR);
- void WINAPI WinExecErrorW(HWND,int,LPCWSTR,LPCWSTR);
- BOOL WINAPI Shell_NotifyIconA(DWORD,PNOTIFYICONDATAA);
- BOOL WINAPI Shell_NotifyIconW(DWORD,PNOTIFYICONDATAW);
- DWORD WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA *,UINT,UINT);
- DWORD WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW *,UINT,UINT);
- BOOL WINAPI SHGetNewLinkInfoA(LPCSTR,LPCSTR,LPSTR,BOOL *,UINT);
- BOOL WINAPI SHGetNewLinkInfoW(LPCWSTR,LPCWSTR,LPWSTR,BOOL *,UINT);
- BOOL APIENTRY DragQueryPoint(HDROP,LPPOINT);
- VOID APIENTRY DragFinish(HDROP);
- VOID APIENTRY DragAcceptFiles(HWND,BOOL);
- HINSTANCE APIENTRY ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT);
- HINSTANCE APIENTRY ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
- HINSTANCE APIENTRY FindExecutableA(LPCSTR,LPCSTR,LPSTR);
- HINSTANCE APIENTRY FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR);
- LPWSTR *APIENTRY CommandLineToArgvW(LPCWSTR,int*);
- int APIENTRY ShellAboutA(HWND,LPCSTR,LPCSTR,HICON);
- int APIENTRY ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON);
- HICON APIENTRY DuplicateIcon(HINSTANCE,HICON);
- HICON APIENTRY ExtractAssociatedIconA(HINSTANCE,LPSTR,LPWORD);
- HICON APIENTRY ExtractAssociatedIconW(HINSTANCE,LPWSTR,LPWORD);
- HICON APIENTRY ExtractIconA(HINSTANCE,LPCSTR,UINT);
- HICON APIENTRY ExtractIconW(HINSTANCE,LPCWSTR,UINT);
- #endif
-