Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

99 lines
3.7 KiB

  1. /*****************************************************************************\
  2. * *
  3. * shellapi.h - SHELL.DLL functions, types, and definitions *
  4. * *
  5. * Copyright (c) 1992, Microsoft Corp. All rights reserved *
  6. * *
  7. \*****************************************************************************/
  8. #ifndef _INC_SHELLAPI
  9. #define _INC_SHELLAPI
  10. #ifndef RC_INVOKED
  11. #pragma pack(1) /* Assume byte packing throughout */
  12. #endif /* RC_INVOKED */
  13. #ifdef __cplusplus
  14. extern "C" { /* Assume C declarations for C++ */
  15. #endif /* __cplusplus */
  16. /* If included with Windows 3.0 windows.h: define 3.1-compatible types */
  17. #ifndef _INC_WINDOWS
  18. #define HDROP HANDLE
  19. #define WINAPI FAR PASCAL
  20. #define LPCSTR LPSTR
  21. #define UINT WORD
  22. #else
  23. DECLARE_HANDLE(HDROP);
  24. #endif
  25. /* return codes from Registration functions */
  26. #define ERROR_SUCCESS 0L
  27. #define ERROR_BADDB 1L
  28. #define ERROR_BADKEY 2L
  29. #define ERROR_CANTOPEN 3L
  30. #define ERROR_CANTREAD 4L
  31. #define ERROR_CANTWRITE 5L
  32. #define ERROR_OUTOFMEMORY 6L
  33. #define ERROR_INVALID_PARAMETER 7L
  34. #define ERROR_ACCESS_DENIED 8L
  35. #define REG_SZ 1 /* string type */
  36. #define HKEY_CLASSES_ROOT 0x80000000
  37. typedef DWORD HKEY;
  38. typedef HKEY FAR* PHKEY;
  39. /* ;Internal */
  40. typedef struct _dropfilestruct { /* ;Internal */
  41. WORD pFiles; /* offset of file list*//* ;Internal */
  42. POINT pt; /* drop point *//* ;Internal */
  43. BOOL fNC; /* is it on NC area *//* ;Internal */
  44. } DROPFILESTRUCT, FAR* LPDROPFILESTRUCT; /* ;Internal */
  45. LONG WINAPI RegOpenKey(HKEY, LPCSTR, HKEY FAR*);
  46. LONG WINAPI RegCreateKey(HKEY, LPCSTR, HKEY FAR*);
  47. LONG WINAPI RegCloseKey(HKEY);
  48. LONG WINAPI RegDeleteKey(HKEY, LPCSTR);
  49. LONG WINAPI RegSetValue(HKEY, LPCSTR, DWORD, LPCSTR, DWORD);
  50. LONG WINAPI RegQueryValue(HKEY, LPCSTR, LPSTR, LONG FAR*);
  51. LONG WINAPI RegEnumKey(HKEY, DWORD, LPSTR, DWORD);
  52. UINT WINAPI DragQueryFile(HDROP, UINT, LPSTR, UINT);
  53. BOOL WINAPI DragQueryPoint(HDROP, POINT FAR*);
  54. void WINAPI DragFinish(HDROP);
  55. void WINAPI DragAcceptFiles(HWND, BOOL);
  56. HICON WINAPI ExtractIcon(HINSTANCE hInst, LPCSTR lpszExeFileName, UINT nIconIndex);
  57. /* error values for ShellExecute() beyond the regular WinExec() codes */
  58. #define SE_ERR_SHARE 26
  59. #define SE_ERR_ASSOCINCOMPLETE 27
  60. #define SE_ERR_DDETIMEOUT 28
  61. #define SE_ERR_DDEFAIL 29
  62. #define SE_ERR_DDEBUSY 30
  63. #define SE_ERR_NOASSOC 31
  64. HINSTANCE WINAPI ShellExecute(HWND hwnd, LPCSTR lpOperation, LPCSTR lpFile, LPCSTR lpParameters, LPCSTR lpDirectory, int iShowCmd);
  65. HINSTANCE WINAPI FindExecutable(LPCSTR lpFile, LPCSTR lpDirectory, LPSTR lpResult);
  66. int WINAPI ShellAbout(HWND hWnd, LPCSTR szApp, LPCSTR szOtherStuff, HICON hIcon); /* ;Internal */
  67. HICON WINAPI ExtractAssociatedIcon(HANDLE hInst, LPSTR lpIconPath, WORD FAR* lpiIcon); /* ;Internal */
  68. HICON WINAPI InternalExtractIcon(HANDLE hInst, LPCSTR lpszExeFileName, WORD nIconIndex, WORD nIcons); /* ;Internal */
  69. DWORD WINAPI DoEnvironmentSubst(LPSTR szString, WORD cbString); /* ;Internal */
  70. BOOL WINAPI RegisterShellHook(HWND, BOOL); /* ;Internal */
  71. #ifdef __cplusplus
  72. }
  73. #endif /* __cplusplus */
  74. #ifndef RC_INVOKED
  75. #pragma pack()
  76. #endif /* RC_INVOKED */
  77. #endif /* _INC_SHELLAPI */