/* * C/C++ Run Time Library - Version 6.5 * * Copyright (c) 1994 by Borland International * All Rights Reserved. * */ #if !defined(__FLAT__) /*****************************************************************************\ * * * shellapi.h - SHELL.DLL functions, types, and definitions * * * \*****************************************************************************/ #ifndef __SHELLAPI_H /* prevent multiple includes */ #define __SHELLAPI_H #ifndef __WINDOWS_H #include /* must be included */ #endif /* __WINDOWS_H */ #ifndef RC_INVOKED #pragma option -a- /* Assume byte packing throughout */ #endif /* RC_INVOKED */ #ifdef __cplusplus extern "C" { /* Assume C declarations for C++ */ #endif /* __cplusplus */ /* If included with the 3.0 windows.h, define compatible aliases */ #if !defined(WINVER) || (WINVER < 0x030a) #define HDROP HANDLE #define HINSTANCE HANDLE #define WINAPI FAR PASCAL #define LPCSTR LPSTR #define UINT WORD #else DECLARE_HANDLE(HDROP); #endif /* WIN3.0 */ /* 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 1 typedef DWORD HKEY; typedef HKEY FAR* PHKEY; 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); #ifdef __cplusplus } #endif #ifndef RC_INVOKED #pragma option -a. /* Revert to default packing */ #endif /* RC_INVOKED */ #endif /* __SHELLAPI_H */ #else /* defined __FLAT__ */ #ifndef _INC_SHELLAPI #define _INC_SHELLAPI #define __SHELLAPI_H #ifdef __cplusplus extern "C" { #endif /* * shell.h * * Header file for shell association database management functions */ //**************************************************************************** // THIS INFORMATION IS PUBLIC /* API exports from the library */ DECLARE_HANDLE(HDROP); UINT APIENTRY DragQueryFileW(HDROP,UINT,LPWSTR,UINT); UINT APIENTRY DragQueryFileA(HDROP,UINT,LPSTR,UINT); #ifdef UNICODE #define DragQueryFile DragQueryFileW #else #define DragQueryFile DragQueryFileA #endif BOOL APIENTRY DragQueryPoint(HDROP,LPPOINT); VOID APIENTRY DragFinish(HDROP); VOID APIENTRY DragAcceptFiles(HWND,BOOL); HICON APIENTRY ExtractIconW(HINSTANCE hInst, LPCWSTR lpszExeFileName, UINT nIconIndex); HICON APIENTRY ExtractIconA(HINSTANCE hInst, LPCSTR lpszExeFileName, UINT nIconIndex); #ifdef UNICODE #define ExtractIcon ExtractIconW #else #define ExtractIcon ExtractIconA #endif /* 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 APIENTRY ShellExecuteA(HWND hwnd, LPCSTR lpOperation, LPCSTR lpFile, LPSTR lpParameters, LPCSTR lpDirectory, INT nShowCmd); HINSTANCE APIENTRY ShellExecuteW(HWND hwnd, LPCWSTR lpOperation, LPCWSTR lpFile, LPWSTR lpParameters, LPCWSTR lpDirectory, INT nShowCmd); HINSTANCE APIENTRY FindExecutableA(LPCSTR lpFile, LPCSTR lpDirectory, LPSTR lpResult); HINSTANCE APIENTRY FindExecutableW(LPCWSTR lpFile, LPCWSTR lpDirectory, LPWSTR lpResult); TCHAR ** APIENTRY CommandLineToArgvW(TCHAR* lpCmdLine, int*pNumArgs); INT APIENTRY ShellAboutA(HWND hWnd, LPCSTR szApp, LPCSTR szOtherStuff, HICON hIcon); INT APIENTRY ShellAboutW(HWND hWnd, LPCWSTR szApp, LPCWSTR szOtherStuff, HICON hIcon); #ifndef UNICODE #define ShellExecute ShellExecuteA #define FindExecutable FindExecutableA #define ShellAbout ShellAboutA #else #define ShellExecute ShellExecuteW #define FindExecutable FindExecutableW #define ShellAbout ShellAboutW #endif HICON APIENTRY DuplicateIcon(HINSTANCE hInst, HICON hIcon); /* ;Internal */ HICON APIENTRY ExtractAssociatedIconA(HINSTANCE hInst, LPSTR lpIconPath, LPWORD lpiIcon); /* ;Internal */ HICON APIENTRY ExtractAssociatedIconW(HINSTANCE hInst, LPWSTR lpIconPath, LPWORD lpiIcon); /* ;Internal */ #ifndef UNICODE #define ExtractAssociatedIcon ExtractAssociatedIconA #else #define ExtractAssociatedIcon ExtractAssociatedIconW #endif #ifdef __cplusplus } #endif #endif // _INC_SHELLAPI #endif /* __SHELLAPI_H */