|
|
/*****************************************************************************\
* * * shellapi.h - SHELL.DLL functions, types, and definitions * * * * Copyright (c) 1992-1994, 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 */
DECLARE_HANDLE(HDROP);
#ifdef WIN32
#ifdef UNICODE
#define ShellExecute ShellExecuteW
#define FindExecutable FindExecutableW
#define ShellAbout ShellAboutW
#define ExtractAssociatedIcon ExtractAssociatedIconW
#define ExtractIcon ExtractIconW
#define DragQueryFile DragQueryFileW
#define InternalExtractIcon InternalExtractIconW
#define DoEnvironmentSubst DoEnvironmentSubstW
#define FindEnvironmentString FindEnvironmentStringW
#else
#define ShellExecute ShellExecuteA
#define FindExecutable FindExecutableA
#define ShellAbout ShellAboutA
#define ExtractAssociatedIcon ExtractAssociatedIconA
#define ExtractIcon ExtractIconA
#define DragQueryFile DragQueryFileA
#define InternalExtractIcon InternalExtractIconA
#define DoEnvironmentSubst DoEnvironmentSubstA
#define FindEnvironmentString FindEnvironmentStringA
#endif // UNICODE
#endif // WIN32
UINT WINAPI DragQueryFile(HDROP, UINT, LPSTR, UINT); BOOL WINAPI DragQueryPoint(HDROP, POINT FAR*); void WINAPI DragFinish(HDROP); void WINAPI DragAcceptFiles(HWND, BOOL);
#ifdef WIN32
typedef struct _DRAGINFO { UINT uSize; /* init with sizeof(DRAGINFO) */ POINT pt; BOOL fNC; LPSTR lpFileList; DWORD grfKeyState; } DRAGINFO, FAR* LPDRAGINFO;
BOOL WINAPI DragQueryInfo(HDROP, LPDRAGINFO); /* get extra info about a drop */
// AppBar stuff
#define ABM_NEW 0x00000000
#define ABM_REMOVE 0x00000001
#define ABM_QUERYPOS 0x00000002
#define ABM_SETPOS 0x00000003
#define ABM_GETSTATE 0x00000004
#define ABM_GETTASKBARPOS 0x00000005
// these are put in the wparam of callback messages
#define ABN_STATECHANGE 0x0000000
#define ABN_POSCHANGED 0x0000001
#define ABN_FULLSCREENAPP 0x0000002
#define ABN_WINDOWARRANGE 0x0000003 // lParam == TRUE means hide
// flags for get state
#define ABS_AUTOHIDE 0x0000001
#define ABS_ALWAYSONTOP 0x0000002
#define ABE_LEFT 0
#define ABE_TOP 1
#define ABE_RIGHT 2
#define ABE_BOTTOM 3
typedef struct _AppBarData { DWORD cbSize; HWND hWnd; UINT uCallbackMessage; UINT uEdge; RECT rc; } APPBARDATA, *PAPPBARDATA;
UINT WINAPI SHAppBarMessage(DWORD dwMessage, PAPPBARDATA pData);
#endif
HICON WINAPI ExtractIcon(HINSTANCE hInst, LPCSTR lpszFile, UINT nIconIndex);
/* ShellExecute() and ShellExecuteEx() error codes */
/* regular WinExec() codes */ #define SE_ERR_FNF 2 // file not found
#define SE_ERR_PNF 3 // path not found
#define SE_ERR_OOM 8 // out of memory
/* values 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
#define SE_ERR_DLLNOTFOUND 32
HINSTANCE WINAPI FindExecutable(LPCSTR lpFile, LPCSTR lpDirectory, LPSTR lpResult); HINSTANCE WINAPI ShellExecute(HWND hwnd, LPCSTR lpOperation, LPCSTR lpFile, LPCSTR lpParameters, LPCSTR lpDirectory, int iShowCmd);
int WINAPI ShellAbout(HWND hWnd, LPCSTR szApp, LPCSTR szOtherStuff, HICON hIcon); DWORD WINAPI DoEnvironmentSubst(LPSTR szString, UINT cbString); LPSTR WINAPI FindEnvironmentString(LPSTR szEnvVar);
#ifdef __cplusplus
} #endif /* __cplusplus */
#ifndef RC_INVOKED
#pragma pack()
#endif /* RC_INVOKED */
#endif /* _INC_SHELLAPI */
|