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