/*****************************************************************************\ * * * shellapi.h - SHELL.DLL functions, types, and definitions * * * * Copyright (c) 1992, Microsoft Corp. All rights reserved * * * \*****************************************************************************/ #ifndef _INC_SHELLAPI #define _INC_SHELLAPI #ifndef RC_INVOKED #pragma pack(1) /* Assume byte packing throughout */ #endif /* RC_INVOKED */ #ifdef __cplusplus extern "C" { /* Assume C declarations for C++ */ #endif /* __cplusplus */ /* If included with Windows 3.0 windows.h: define 3.1-compatible types */ #ifndef _INC_WINDOWS #define HDROP HANDLE #define WINAPI FAR PASCAL #define LPCSTR LPSTR #define UINT WORD #else DECLARE_HANDLE(HDROP); #endif /* return codes from Registration functions */ #define ERROR_SUCCESS 0L #define ERROR_BADDB 1L #define ERROR_BADKEY 2L #define ERROR_CANTOPEN 3L #define ERROR_CANTREAD 4L #define ERROR_CANTWRITE 5L #define ERROR_OUTOFMEMORY 6L #define ERROR_INVALID_PARAMETER 7L #define ERROR_ACCESS_DENIED 8L #define REG_SZ 1 /* string type */ #define HKEY_CLASSES_ROOT 0x80000000 typedef DWORD HKEY; typedef HKEY FAR* PHKEY; /* ;Internal */ typedef struct _dropfilestruct { /* ;Internal */ WORD pFiles; /* offset of file list*//* ;Internal */ POINT pt; /* drop point *//* ;Internal */ BOOL fNC; /* is it on NC area *//* ;Internal */ } DROPFILESTRUCT, FAR* LPDROPFILESTRUCT; /* ;Internal */ LONG WINAPI RegOpenKey(HKEY, LPCSTR, HKEY FAR*); LONG WINAPI RegCreateKey(HKEY, LPCSTR, HKEY FAR*); LONG WINAPI RegCloseKey(HKEY); LONG WINAPI RegDeleteKey(HKEY, LPCSTR); LONG WINAPI RegSetValue(HKEY, LPCSTR, DWORD, LPCSTR, DWORD); LONG WINAPI RegQueryValue(HKEY, LPCSTR, LPSTR, LONG FAR*); LONG WINAPI RegEnumKey(HKEY, DWORD, LPSTR, DWORD); UINT WINAPI DragQueryFile(HDROP, UINT, LPSTR, UINT); BOOL WINAPI DragQueryPoint(HDROP, POINT FAR*); void WINAPI DragFinish(HDROP); void WINAPI DragAcceptFiles(HWND, BOOL); HICON WINAPI ExtractIcon(HINSTANCE hInst, LPCSTR lpszExeFileName, UINT nIconIndex); /* error values for ShellExecute() beyond the regular WinExec() codes */ #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 HINSTANCE WINAPI ShellExecute(HWND hwnd, LPCSTR lpOperation, LPCSTR lpFile, LPCSTR lpParameters, LPCSTR lpDirectory, int iShowCmd); HINSTANCE WINAPI FindExecutable(LPCSTR lpFile, LPCSTR lpDirectory, LPSTR lpResult); int WINAPI ShellAbout(HWND hWnd, LPCSTR szApp, LPCSTR szOtherStuff, HICON hIcon); /* ;Internal */ HICON WINAPI ExtractAssociatedIcon(HANDLE hInst, LPSTR lpIconPath, WORD FAR* lpiIcon); /* ;Internal */ HICON WINAPI InternalExtractIcon(HANDLE hInst, LPCSTR lpszExeFileName, WORD nIconIndex, WORD nIcons); /* ;Internal */ DWORD WINAPI DoEnvironmentSubst(LPSTR szString, WORD cbString); /* ;Internal */ BOOL WINAPI RegisterShellHook(HWND, BOOL); /* ;Internal */ #ifdef __cplusplus } #endif /* __cplusplus */ #ifndef RC_INVOKED #pragma pack() #endif /* RC_INVOKED */ #endif /* _INC_SHELLAPI */