home *** CD-ROM | disk | FTP | other *** search
/ Chip 2000 August / Chip_2000-08_cd1.bin / sharewar / dvcpp / _SETUP.5 / Group3 / shellapi.h < prev    next >
Encoding:
C/C++ Source or Header  |  1999-03-08  |  6.9 KB  |  246 lines

  1. #ifndef _SHELLAPI_H
  2. #define _SHELLAPI_H
  3. #ifdef __cplusplus
  4. extern "C" {
  5. #endif
  6. #define WINSHELLAPI DECLSPEC_IMPORT
  7. #define ABE_LEFT    0
  8. #define ABE_TOP    1
  9. #define ABE_RIGHT    2
  10. #define ABE_BOTTOM    3
  11. #define SEE_MASK_CLASSNAME    1
  12. #define SEE_MASK_CLASSKEY    3
  13. #define SEE_MASK_IDLIST    4
  14. #define SEE_MASK_INVOKEIDLIST   12
  15. #define SEE_MASK_ICON    16
  16. #define SEE_MASK_HOTKEY    32
  17. #define SEE_MASK_NOCLOSEPROCESS    64
  18. #define SEE_MASK_CONNECTNETDRV    128
  19. #define SEE_MASK_FLAG_DDEWAIT    256
  20. #define SEE_MASK_DOENVSUBST    512
  21. #define SEE_MASK_FLAG_NO_UI    1024
  22. #define SEE_MASK_UNICODE    65536
  23. #define ABM_NEW    0
  24. #define ABM_REMOVE    1
  25. #define ABM_QUERYPOS    2
  26. #define ABM_SETPOS    3
  27. #define ABM_GETSTATE    4
  28. #define ABM_GETTASKBARPOS    5
  29. #define ABM_ACTIVATE    6
  30. #define ABM_GETAUTOHIDEBAR    7
  31. #define ABM_SETAUTOHIDEBAR    8
  32. #define ABM_WINDOWPOSCHANGED    9
  33. #define NIM_ADD    0
  34. #define NIM_MODIFY    1
  35. #define NIM_DELETE    2
  36. #define NIF_MESSAGE    1
  37. #define NIF_ICON    2
  38. #define NIF_TIP    4
  39. #define SE_ERR_FNF    2
  40. #define SE_ERR_PNF    3
  41. #define SE_ERR_ACCESSDENIED    5
  42. #define SE_ERR_OOM    8
  43. #define SE_ERR_DLLNOTFOUND    32
  44. #define SE_ERR_SHARE    26
  45. #define SE_ERR_ASSOCINCOMPLETE    27
  46. #define SE_ERR_DDETIMEOUT    28
  47. #define SE_ERR_DDEFAIL    29
  48. #define SE_ERR_DDEBUSY    30
  49. #define SE_ERR_NOASSOC    31
  50. #define FO_MOVE    1
  51. #define FO_COPY    2
  52. #define FO_DELETE    3
  53. #define FO_RENAME    4
  54. #define FOF_MULTIDESTFILES    1
  55. #define FOF_CONFIRMMOUSE    2
  56. #define FOF_SILENT    4
  57. #define FOF_RENAMEONCOLLISION    8
  58. #define FOF_NOCONFIRMATION    16
  59. #define FOF_WANTMAPPINGHANDLE    32
  60. #define FOF_ALLOWUNDO    64
  61. #define FOF_FILESONLY    128
  62. #define FOF_SIMPLEPROGRESS    256
  63. #define FOF_NOCONFIRMMKDIR    512
  64. #define PO_DELETE 19
  65. #define PO_RENAME 20
  66. #define PO_PORTCHANGE 32
  67. #define PO_REN_PORT 52
  68. #define SHGFI_ICON    256
  69. #define SHGFI_DISPLAYNAME    512
  70. #define SHGFI_TYPENAME    1024
  71. #define SHGFI_ATTRIBUTES    2048
  72. #define SHGFI_ICONLOCATION    4096
  73. #define SHGFI_EXETYPE 8192
  74. #define SHGFI_SYSICONINDEX 16384
  75. #define SHGFI_LINKOVERLAY 32768
  76. #define SHGFI_SELECTED 65536
  77. #define SHGFI_LARGEICON    0
  78. #define SHGFI_SMALLICON    1
  79. #define SHGFI_OPENICON    2
  80. #define SHGFI_SHELLICONSIZE    4
  81. #define SHGFI_PIDL    8
  82. #define SHGFI_USEFILEATTRIBUTES    16
  83.  
  84. typedef WORD FILEOP_FLAGS;
  85. typedef WORD PRINTEROP_FLAGS;
  86. typedef struct _AppBarData {
  87.     DWORD    cbSize;
  88.     HWND    hWnd;
  89.     UINT    uCallbackMessage;
  90.     UINT    uEdge;
  91.     RECT    rc;
  92.     LPARAM lParam;
  93. } APPBARDATA,*PAPPBARDATA;
  94. DECLARE_HANDLE(HDROP);
  95. typedef struct _NOTIFYICONDATAA {
  96.     DWORD cbSize;
  97.     HWND hWnd;
  98.     UINT uID;
  99.     UINT uFlags;
  100.     UINT uCallbackMessage;
  101.     HICON hIcon;
  102.     CHAR szTip[64];
  103. } NOTIFYICONDATAA,*PNOTIFYICONDATAA;
  104. typedef struct _NOTIFYICONDATAW {
  105.     DWORD cbSize;
  106.     HWND hWnd;
  107.     UINT uID;
  108.     UINT uFlags;
  109.     UINT uCallbackMessage;
  110.     HICON hIcon;
  111.     WCHAR szTip[64];
  112. } NOTIFYICONDATAW,*PNOTIFYICONDATAW;
  113. typedef struct _SHELLEXECUTEINFOA {
  114.     DWORD cbSize;
  115.     ULONG fMask;
  116.     HWND hwnd;
  117.     LPCSTR lpVerb;
  118.     LPCSTR lpFile;
  119.     LPCSTR lpParameters;
  120.     LPCSTR lpDirectory;
  121.     int nShow;
  122.     HINSTANCE hInstApp;
  123.     PVOID lpIDList;
  124.     LPCSTR lpClass;
  125.     HKEY hkeyClass;
  126.     DWORD dwHotKey;
  127.     HANDLE hIcon;
  128.     HANDLE hProcess;
  129. } SHELLEXECUTEINFOA,*LPSHELLEXECUTEINFOA;
  130. typedef struct _SHELLEXECUTEINFOW {
  131.     DWORD cbSize;
  132.     ULONG fMask;
  133.     HWND hwnd;
  134.     LPCWSTR lpVerb;
  135.     LPCWSTR lpFile;
  136.     LPCWSTR lpParameters;
  137.     LPCWSTR lpDirectory;
  138.     int nShow;
  139.     HINSTANCE hInstApp;
  140.     PVOID lpIDList;
  141.     LPCWSTR lpClass;
  142.     HKEY hkeyClass;
  143.     DWORD dwHotKey;
  144.     HANDLE hIcon;
  145.     HANDLE hProcess;
  146. } SHELLEXECUTEINFOW,*LPSHELLEXECUTEINFOW;
  147. typedef struct _SHFILEOPSTRUCTA {
  148.     HWND hwnd;
  149.     UINT wFunc;
  150.     LPCSTR pFrom;
  151.     LPCSTR pTo;
  152.     FILEOP_FLAGS fFlags;
  153.     BOOL fAnyOperationsAborted;
  154.     PVOID hNameMappings;
  155.     LPCSTR lpszProgressTitle;
  156. } SHFILEOPSTRUCTA,*LPSHFILEOPSTRUCTA;
  157. typedef struct _SHFILEOPSTRUCTW {
  158.     HWND hwnd;
  159.     UINT wFunc;
  160.     LPCWSTR pFrom;
  161.     LPCWSTR pTo;
  162.     FILEOP_FLAGS fFlags;
  163.     BOOL fAnyOperationsAborted;
  164.     PVOID hNameMappings;
  165.     LPCWSTR lpszProgressTitle;
  166. } SHFILEOPSTRUCTW,*LPSHFILEOPSTRUCTW;
  167. typedef struct _SHFILEINFOA {
  168.     HICON hIcon;
  169.     int iIcon;
  170.     DWORD dwAttributes;
  171.     CHAR szDisplayName[MAX_PATH];
  172.     CHAR szTypeName[80];
  173. } SHFILEINFOA;
  174. typedef struct _SHFILEINFOW {
  175.     HICON hIcon;
  176.     int iIcon;
  177.     DWORD dwAttributes;
  178.     WCHAR szDisplayName[MAX_PATH];
  179.     WCHAR szTypeName[80];
  180. } SHFILEINFOW;
  181.  
  182. LPWSTR *CommandLineToArgvW(LPCWSTR,int);
  183. void WINAPI DragAcceptFiles(HWND,BOOL);
  184. void WINAPI DragFinish(HDROP);
  185. UINT WINAPI DragQueryFileA(HDROP,UINT,LPSTR,UINT);
  186. UINT WINAPI DragQueryFileW(HDROP,UINT,LPWSTR,UINT);
  187. BOOL WINAPI DragQueryPoint(HDROP,LPPOINT);
  188. HICON WINAPI ExtractAssociatedIconA(HINSTANCE,LPCSTR,PWORD);
  189. HICON WINAPI ExtractAssociatedIconW(HINSTANCE,LPCWSTR,PWORD);
  190. HICON WINAPI ExtractIconA(HINSTANCE,LPCSTR,UINT);
  191. HICON WINAPI ExtractIconW(HINSTANCE,LPCWSTR,UINT);
  192. HICON WINAPI ExtractIconExA(LPCSTR,int,HICON*,HICON*,UINT);
  193. HICON WINAPI ExtractIconExW(LPCWSTR,int,HICON*,HICON*,UINT);
  194. HINSTANCE WINAPI FindExecutableA(LPCSTR,LPCSTR,LPSTR);
  195. HINSTANCE WINAPI FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR);
  196. UINT WINAPI SHAppBarMessage(DWORD,PAPPBARDATA);
  197. BOOL WINAPI Shell_NotifyIconA(DWORD,PNOTIFYICONDATAA);
  198. BOOL WINAPI Shell_NotifyIconW(DWORD,PNOTIFYICONDATAW);
  199. int WINAPI ShellABoutA(HWND,LPCSTR,LPCSTR,HICON);
  200. int WINAPI ShellABoutW(HWND,LPCWSTR,LPCWSTR,HICON);
  201. HINSTANCE WINAPI ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT);
  202. HINSTANCE WINAPI ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
  203. BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA);
  204. BOOL WINAPI ShellExecuteExW(LPSHELLEXECUTEINFOW);
  205. int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA);
  206. int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW);
  207. void WINAPI SHFreeNameMappings(HANDLE);
  208. DWORD WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA*,UINT,UINT);
  209. DWORD WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW*,UINT,UINT);
  210.  
  211. #ifdef UNICODE
  212. typedef NOTIFYICONDATAW NOTIFYICONDATA,*PNOTIFYICONDATA;
  213. typedef SHELLEXECUTEINFOW SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO;
  214. typedef SHFILEOPSTRUCTW SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT;
  215. typedef SHFILEINFOW SHFILEINFO;
  216. #define DragQueryFile DragQueryFileW
  217. #define ExtractAssociatedIcon ExtractAssociatedIconW
  218. #define ExtractIcon ExtractIconW
  219. #define ExtractIconEx ExtractIconExW
  220. #define FindExecutable FindExecutableW
  221. #define Shell_NotifyIcon Shell_NotifyIconW
  222. #define ShellABout ShellABoutW
  223. #define ShellExecute ShellExecuteW
  224. #define ShellExecuteEx ShellExecuteExW
  225. #define SHFileOperation SHFileOperationW
  226. #else
  227. typedef NOTIFYICONDATAA NOTIFYICONDATA,*PNOTIFYICONDATA;
  228. typedef SHELLEXECUTEINFOA SHELLEXECUTEINFO,*LPSHELLEXECUTEINFO;
  229. typedef SHFILEOPSTRUCTA SHFILEOPSTRUCT,*LPSHFILEOPSTRUCT;
  230. typedef SHFILEINFOA SHFILEINFO;
  231. #define DragQueryFile DragQueryFileA
  232. #define ExtractAssociatedIcon ExtractAssociatedIconA
  233. #define ExtractIcon ExtractIconA
  234. #define ExtractIconEx ExtractIconExA
  235. #define FindExecutable FindExecutableA
  236. #define Shell_NotifyIcon Shell_NotifyIconA
  237. #define ShellABout ShellABoutA
  238. #define ShellExecute ShellExecuteA
  239. #define ShellExecuteEx ShellExecuteExA
  240. #define SHFileOperation SHFileOperationA
  241. #endif
  242. #ifdef __cplusplus
  243. }
  244. #endif
  245. #endif
  246.