home *** CD-ROM | disk | FTP | other *** search
/ Total Destruction / Total_Destruction.iso / addons / Lccwin32.exe / Lccwin32 / lccpub / include / SHELLAPI.H < prev    next >
Encoding:
C/C++ Source or Header  |  1996-12-19  |  10.0 KB  |  312 lines

  1. #ifndef _GNU_SHELLAPI
  2. #define _GNU_SHELLAPI
  3. // SHELLAPI.H definitions and structures
  4. #ifdef UNICODE
  5. #define DragQueryFile  DragQueryFileW
  6. #define ShellExecute  ShellExecuteW
  7. #define FindExecutable  FindExecutableW
  8. #define ShellAbout  ShellAboutW
  9. #define ExtractAssociatedIcon  ExtractAssociatedIconW
  10. #define ExtractIcon  ExtractIconW
  11. #define DoEnvironmentSubst  DoEnvironmentSubstW
  12. #define FindEnvironmentString  FindEnvironmentStringW
  13. #define ExtractIconEx  ExtractIconExW
  14. #define SHFileOperation  SHFileOperationW
  15. #define ShellExecuteEx  ShellExecuteExW
  16. #define WinExecError  WinExecErrorW
  17. #define Shell_NotifyIcon  Shell_NotifyIconW
  18. #define SHGetFileInfo  SHGetFileInfoW
  19. #define SHGetNewLinkInfo  SHGetNewLinkInfoW
  20. #else
  21. #define DragQueryFile  DragQueryFileA
  22. #define ShellExecute  ShellExecuteA
  23. #define FindExecutable  FindExecutableA
  24. #define ShellAbout  ShellAboutA
  25. #define ExtractAssociatedIcon  ExtractAssociatedIconA
  26. #define ExtractIcon  ExtractIconA
  27. #define DoEnvironmentSubst  DoEnvironmentSubstA
  28. #define FindEnvironmentString  FindEnvironmentStringA
  29. #define ExtractIconEx  ExtractIconExA
  30. #define SHFileOperation  SHFileOperationA
  31. #define ShellExecuteEx  ShellExecuteExA
  32. #define WinExecError  WinExecErrorA
  33. #define Shell_NotifyIcon  Shell_NotifyIconA
  34. #define SHGetFileInfo  SHGetFileInfoA
  35. #define SHGetNewLinkInfo  SHGetNewLinkInfoA
  36. #endif
  37. typedef struct _DRAGINFOA {
  38.     UINT uSize;
  39.     POINT pt;
  40.     BOOL fNC;
  41.     LPSTR   lpFileList;
  42.     DWORD grfKeyState;
  43. } DRAGINFOA, * LPDRAGINFOA;
  44. typedef struct _DRAGINFOW {
  45.     UINT uSize;
  46.     POINT pt;
  47.     BOOL fNC;
  48.     LPWSTR  lpFileList;
  49.     DWORD grfKeyState;
  50. } DRAGINFOW, * LPDRAGINFOW;
  51. typedef struct _AppBarData {
  52.     DWORD cbSize;
  53.     HWND hWnd;
  54.     UINT uCallbackMessage;
  55.     UINT uEdge;
  56.     RECT rc;
  57.     LPARAM lParam;
  58. } APPBARDATA, *PAPPBARDATA;
  59. typedef struct tagSHFILEOPSTRUCTA {
  60.     HWND    hwnd;
  61.     UINT    wFunc;
  62.     LPCSTR    pFrom;
  63.     LPCSTR    pTo;
  64.     FILEOP_FLAGS    fFlags;
  65.     BOOL    fAnyOperationsAborted;
  66.     LPVOID    hNameMappings;
  67.     LPCSTR    lpszProgressTitle;
  68. } SHFILEOPSTRUCTA, *LPSHFILEOPSTRUCTA;
  69. typedef struct tagSHFILEOPSTRUCTW {
  70.     HWND    hwnd;
  71.     UINT    wFunc;
  72.     LPCWSTR    pFrom;
  73.     LPCWSTR    pTo;
  74.     FILEOP_FLAGS    fFlags;
  75.     BOOL    fAnyOperationsAborted;
  76.     LPVOID    hNameMappings;
  77.     LPCWSTR    lpszProgressTitle;
  78. } SHFILEOPSTRUCTW, *LPSHFILEOPSTRUCTW;
  79. typedef struct _SHNAMEMAPPINGA {
  80.     LPSTR   pszOldPath;
  81.     LPSTR   pszNewPath;
  82.     int   cchOldPath;
  83.     int   cchNewPath;
  84. } SHNAMEMAPPINGA, *LPSHNAMEMAPPINGA;
  85. typedef struct _SHNAMEMAPPINGW {
  86.     LPWSTR  pszOldPath;
  87.     LPWSTR  pszNewPath;
  88.     int   cchOldPath;
  89.     int   cchNewPath;
  90. } SHNAMEMAPPINGW, *LPSHNAMEMAPPINGW;
  91. typedef struct _SHELLEXECUTEINFOA {
  92.     DWORD cbSize;
  93.     ULONG fMask;
  94.     HWND hwnd;
  95.     LPCSTR   lpVerb;
  96.     LPCSTR   lpFile;
  97.     LPCSTR   lpParameters;
  98.     LPCSTR   lpDirectory;
  99.     int nShow;
  100.     HINSTANCE hInstApp;
  101.     LPVOID lpIDList;
  102.     LPCSTR   lpClass;
  103.     HKEY hkeyClass;
  104.     DWORD dwHotKey;
  105.     HANDLE hIcon;
  106.     HANDLE hProcess;
  107. } SHELLEXECUTEINFOA, *LPSHELLEXECUTEINFOA;
  108. typedef struct _SHELLEXECUTEINFOW {
  109.     DWORD cbSize;
  110.     ULONG fMask;
  111.     HWND hwnd;
  112.     LPCWSTR  lpVerb;
  113.     LPCWSTR  lpFile;
  114.     LPCWSTR  lpParameters;
  115.     LPCWSTR  lpDirectory;
  116.     int nShow;
  117.     HINSTANCE hInstApp;
  118.     LPVOID lpIDList;
  119.     LPCWSTR  lpClass;
  120.     HKEY hkeyClass;
  121.     DWORD dwHotKey;
  122.     HANDLE hIcon;
  123.     HANDLE hProcess;
  124. } SHELLEXECUTEINFOW, *LPSHELLEXECUTEINFOW;
  125. typedef struct _NOTIFYICONDATAA {
  126.     DWORD cbSize;
  127.     HWND hWnd;
  128.     UINT uID;
  129.     UINT uFlags;
  130.     UINT uCallbackMessage;
  131.     HICON hIcon;
  132.     CHAR   szTip[64];
  133. } NOTIFYICONDATAA, *PNOTIFYICONDATAA;
  134. typedef struct _NOTIFYICONDATAW {
  135.     DWORD cbSize;
  136.     HWND hWnd;
  137.     UINT uID;
  138.     UINT uFlags;
  139.     UINT uCallbackMessage;
  140.     HICON hIcon;
  141.     WCHAR  szTip[64];
  142. } NOTIFYICONDATAW, *PNOTIFYICONDATAW;
  143. typedef struct _SHFILEINFOA {
  144.     HICON       hIcon;
  145.     int         iIcon;
  146.     DWORD       dwAttributes;
  147.     CHAR        szDisplayName[MAX_PATH];
  148.     CHAR        szTypeName[80];
  149. } SHFILEINFOA;
  150. typedef struct _SHFILEINFOW {
  151.     HICON       hIcon;
  152.     int         iIcon;
  153.     DWORD       dwAttributes;
  154.     WCHAR       szDisplayName[MAX_PATH];
  155.     WCHAR       szTypeName[80];
  156. } SHFILEINFOW;
  157. #ifdef UNICODE
  158. typedef DRAGINFOW DRAGINFO;
  159. typedef LPDRAGINFOW LPDRAGINFO;
  160. typedef NOTIFYICONDATAW NOTIFYICONDATA;
  161. typedef PNOTIFYICONDATAW PNOTIFYICONDATA;
  162. typedef SHELLEXECUTEINFOW SHELLEXECUTEINFO;
  163. typedef LPSHELLEXECUTEINFOW LPSHELLEXECUTEINFO;
  164. typedef SHFILEOPSTRUCTW SHFILEOPSTRUCT;
  165. typedef LPSHFILEOPSTRUCTW LPSHFILEOPSTRUCT;
  166. typedef SHNAMEMAPPINGW SHNAMEMAPPING;
  167. typedef LPSHNAMEMAPPINGW LPSHNAMEMAPPING;
  168. typedef SHFILEINFOW SHFILEINFO;
  169. #else
  170. typedef DRAGINFOA DRAGINFO;
  171. typedef LPDRAGINFOA LPDRAGINFO;
  172. typedef SHFILEOPSTRUCTA SHFILEOPSTRUCT;
  173. typedef LPSHFILEOPSTRUCTA LPSHFILEOPSTRUCT;
  174. typedef NOTIFYICONDATAA NOTIFYICONDATA;
  175. typedef PNOTIFYICONDATAA PNOTIFYICONDATA;
  176. typedef SHELLEXECUTEINFOA SHELLEXECUTEINFO;
  177. typedef LPSHELLEXECUTEINFOA LPSHELLEXECUTEINFO;
  178. typedef SHNAMEMAPPINGA SHNAMEMAPPING;
  179. typedef LPSHNAMEMAPPINGA LPSHNAMEMAPPING;
  180. typedef SHFILEINFOA SHFILEINFO;
  181. #endif
  182. #define SHGetNameMappingCount(h)  DSA_GetItemCount(h)
  183. #define SHGetNameMappingPtr(h,i) (LPSHNAMEMAPPING)DSA_GetItemPtr(h,i)
  184. #define SHGNLI_PIDL             1
  185. #define SHGNLI_PREFIXNAME       2
  186. #define SE_ERR_FNF              2
  187. #define SE_ERR_PNF              3
  188. #define SE_ERR_ACCESSDENIED     5
  189. #define SE_ERR_OOM              8
  190. #define SE_ERR_DLLNOTFOUND              32
  191. #define SE_ERR_SHARE                    26
  192. #define SE_ERR_ASSOCINCOMPLETE          27
  193. #define SE_ERR_DDETIMEOUT               28
  194. #define SE_ERR_DDEFAIL                  29
  195. #define SE_ERR_DDEBUSY                  30
  196. #define SE_ERR_NOASSOC                  31
  197. #define SEE_MASK_CLASSNAME      1
  198. #define SEE_MASK_CLASSKEY       3
  199. #define SEE_MASK_IDLIST         4
  200. #define SEE_MASK_INVOKEIDLIST   0xc
  201. #define SEE_MASK_ICON           0x10
  202. #define SEE_MASK_HOTKEY         0x20
  203. #define SEE_MASK_NOCLOSEPROCESS 0x40
  204. #define SEE_MASK_CONNECTNETDRV  0x80
  205. #define SEE_MASK_FLAG_DDEWAIT   0x100
  206. #define SEE_MASK_DOENVSUBST     0x200
  207. #define SEE_MASK_FLAG_NO_UI     0x400
  208. #define SEE_MASK_UNICODE        0x10000
  209. #define NIM_ADD         0
  210. #define NIM_MODIFY      1
  211. #define NIM_DELETE      2
  212. #define NIF_MESSAGE     1
  213. #define NIF_ICON        2
  214. #define NIF_TIP         4
  215. #define ABM_NEW           0
  216. #define ABM_REMOVE        1
  217. #define ABM_QUERYPOS      2
  218. #define ABM_SETPOS        3
  219. #define ABM_GETSTATE      4
  220. #define ABM_GETTASKBARPOS 5
  221. #define ABM_ACTIVATE      6
  222. #define ABM_GETAUTOHIDEBAR 7
  223. #define ABM_SETAUTOHIDEBAR 8
  224. #define ABM_WINDOWPOSCHANGED 9
  225. #define ABN_STATECHANGE    0
  226. #define ABN_POSCHANGED     1
  227. #define ABN_FULLSCREENAPP  2
  228. #define ABN_WINDOWARRANGE  3
  229. #define ABS_AUTOHIDE    1
  230. #define ABS_ALWAYSONTOP 2
  231. #define ABE_LEFT        0
  232. #define ABE_TOP         1
  233. #define ABE_RIGHT       2
  234. #define ABE_BOTTOM      3
  235. #define PO_DELETE       0x13
  236. #define PO_RENAME       0x14
  237. #define PO_PORTCHANGE   0x20
  238. #define PO_REN_PORT     0x34
  239. #define EIRESID(x) (-1 * (int)(x))
  240. #define SHGFI_ICON              0x100
  241. #define SHGFI_DISPLAYNAME       0x200
  242. #define SHGFI_TYPENAME          0x400
  243. #define SHGFI_ATTRIBUTES        0x800
  244. #define SHGFI_ICONLOCATION      0x1000
  245. #define SHGFI_EXETYPE           0x2000
  246. #define SHGFI_SYSICONINDEX      0x4000
  247. #define SHGFI_LINKOVERLAY       0x8000
  248. #define SHGFI_SELECTED          0x10000
  249. #define SHGFI_LARGEICON         0
  250. #define SHGFI_SMALLICON         1
  251. #define SHGFI_OPENICON          2
  252. #define SHGFI_SHELLICONSIZE     4
  253. #define SHGFI_PIDL              8
  254. #define SHGFI_USEFILEATTRIBUTES 16
  255. #define SHGNLI_PIDL             1
  256. #define SHGNLI_PREFIXNAME       2
  257. #define FO_MOVE           1
  258. #define FO_COPY           2
  259. #define FO_DELETE         3
  260. #define FO_RENAME         4
  261. #define FOF_MULTIDESTFILES         1
  262. #define FOF_CONFIRMMOUSE           2
  263. #define FOF_SILENT                 4
  264. #define FOF_RENAMEONCOLLISION      8
  265. #define FOF_NOCONFIRMATION         16
  266. #define FOF_WANTMAPPINGHANDLE       32
  267. #define FOF_ALLOWUNDO             64
  268. #define FOF_FILESONLY              128
  269. #define FOF_SIMPLEPROGRESS         256
  270. #define FOF_NOCONFIRMMKDIR         512
  271. typedef WORD FILEOP_FLAGS;
  272. typedef WORD PRINTEROP_FLAGS;
  273. typedef HANDLE HDROP;
  274. UINT APIENTRY DragQueryFileA(HDROP,UINT,LPSTR,UINT);
  275. UINT APIENTRY DragQueryFileW(HDROP,UINT,LPWSTR,UINT);
  276. UINT APIENTRY SHAppBarMessage(DWORD,PAPPBARDATA);
  277. DWORD APIENTRY DoEnvironmentSubstA(LPSTR,UINT);
  278. DWORD APIENTRY DoEnvironmentSubstW(LPWSTR,UINT);
  279. LPSTR APIENTRY FindEnvironmentStringA(LPSTR);
  280. LPWSTR APIENTRY FindEnvironmentStringW(LPWSTR);
  281. UINT WINAPI ExtractIconExA(LPCSTR,int,HICON *,HICON *,UINT);
  282. UINT WINAPI ExtractIconExW(LPCWSTR,int,HICON *,HICON *,UINT);
  283. int WINAPI SHFileOperationA(LPSHFILEOPSTRUCTA);
  284. int WINAPI SHFileOperationW(LPSHFILEOPSTRUCTW);
  285. void WINAPI SHFreeNameMappings(HANDLE);
  286. BOOL WINAPI ShellExecuteExA(LPSHELLEXECUTEINFOA);
  287. BOOL WINAPI ShellExecuteExW(LPSHELLEXECUTEINFOW);
  288. void WINAPI WinExecErrorA(HWND,int,LPCSTR,LPCSTR);
  289. void WINAPI WinExecErrorW(HWND,int,LPCWSTR,LPCWSTR);
  290. BOOL WINAPI Shell_NotifyIconA(DWORD,PNOTIFYICONDATAA);
  291. BOOL WINAPI Shell_NotifyIconW(DWORD,PNOTIFYICONDATAW);
  292. DWORD WINAPI SHGetFileInfoA(LPCSTR,DWORD,SHFILEINFOA *,UINT,UINT);
  293. DWORD WINAPI SHGetFileInfoW(LPCWSTR,DWORD,SHFILEINFOW *,UINT,UINT);
  294. BOOL WINAPI SHGetNewLinkInfoA(LPCSTR,LPCSTR,LPSTR,BOOL *,UINT);
  295. BOOL WINAPI SHGetNewLinkInfoW(LPCWSTR,LPCWSTR,LPWSTR,BOOL *,UINT);
  296. BOOL APIENTRY DragQueryPoint(HDROP,LPPOINT);
  297. VOID APIENTRY DragFinish(HDROP);
  298. VOID APIENTRY DragAcceptFiles(HWND,BOOL);
  299. HINSTANCE APIENTRY ShellExecuteA(HWND,LPCSTR,LPCSTR,LPCSTR,LPCSTR,INT);
  300. HINSTANCE APIENTRY ShellExecuteW(HWND,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR,INT);
  301. HINSTANCE APIENTRY FindExecutableA(LPCSTR,LPCSTR,LPSTR);
  302. HINSTANCE APIENTRY FindExecutableW(LPCWSTR,LPCWSTR,LPWSTR);
  303. LPWSTR *APIENTRY CommandLineToArgvW(LPCWSTR,int*);
  304. int APIENTRY ShellAboutA(HWND,LPCSTR,LPCSTR,HICON);
  305. int APIENTRY ShellAboutW(HWND,LPCWSTR,LPCWSTR,HICON);
  306. HICON APIENTRY DuplicateIcon(HINSTANCE,HICON);
  307. HICON APIENTRY ExtractAssociatedIconA(HINSTANCE,LPSTR,LPWORD);
  308. HICON APIENTRY ExtractAssociatedIconW(HINSTANCE,LPWSTR,LPWORD);
  309. HICON APIENTRY ExtractIconA(HINSTANCE,LPCSTR,UINT);
  310. HICON APIENTRY ExtractIconW(HINSTANCE,LPCWSTR,UINT);
  311. #endif
  312.