open-insight/SYSPROG/STPROCINS/MSWIN_SHELLEXECUTEINFO_EQUATES.txt
2024-03-25 15:17:34 -07:00

99 lines
4.4 KiB
Plaintext

compile insert msWin_ShellExecuteInfo_Equates
/*
** Copyright (C) 1992-2019 Revelation Software Inc. All Rights Reserved **
Author Captain C
Date May 2019
Purpose Equates for use with the Windows API ShellExecuteInfo structure
Comments
========
typedef struct _SHELLEXECUTEINFO {
DWORD cbSize;
ULONG fMask;
hwnd hwnd;
LPCTSTR lpVerb;
LPCTSTR lpFile;
LPCTSTR lpParameters;
LPCTSTR lpDirectory;
int nShow;
HINSTANCE hInstApp;
LPVOID lpIDList;
LPCTSTR lpClass;
HKEY hkeyClass;
DWORD dwHotKey;
union {
HANDLE hIcon;
HANDLE hMonitor;
} DUMMYUNIONNAME;
HANDLE hProcess;
} SHELLEXECUTEINFO, *LPSHELLEXECUTEINFO;
Amended Date Reason
======= ==== ======
*/
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
#ifndef _MSWIN_SHELLEXECUTEINFO_EQUATES_
#define _MSWIN_SHELLEXECUTEINFO_EQUATES_
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
$uses @APPID*DLLSTRUCT**MSWIN_SHELLEXECUTEINFO
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// Structure "field positions"
equ SEI_POS_CBSIZE$ to 1
equ SET_POS_FMASK$ to 2
equ SEI_POS_HWND$ to 3
equ SEI_POS_LPVERB$ to 4
equ SEI_POS_LPFILE$ to 5
equ SEI_POS_LPPARAMETERS$ to 6
equ SEI_POS_LPDIRECTORY$ to 7
equ SEI_POS_NSHOW$ to 8
equ SEI_POS_HINSTAPP$ to 9
equ SEI_POS_LPIDLIST$ to 10
equ SEI_POS_LPCLASS$ to 11
equ SEI_POS_HKEYCLASS$ to 12
equ SEI_POS_DWHOTKEY$ to 13
equ SEI_POS_HMONITOR$ to 14
equ SEI_POS_HPROCESS$ to 15
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
// fMask attributes
equ SEE_MASK_DEFAULT$ to 0x00000000
equ SEE_MASK_CLASSNAME$ to 0x00000001 ; // SHELLEXECUTEINFO.lpClass is valid
equ SEE_MASK_CLASSKEY$ to 0x00000003 ; // SHELLEXECUTEINFO.hkeyClass is valid
equ SEE_MASK_IDLIST$ to 0x00000004 ; // SHELLEXECUTEINFO.lpIDList is valid
equ SEE_MASK_INVOKEIDLIST$ to 0x0000000c ; // enable IContextMenu based verbs
equ SEE_MASK_HOTKEY$ to 0x00000020 ; // SHELLEXECUTEINFO.dwHotKey is valid
equ SEE_MASK_NOCLOSEPROCESS$ to 0x00000040 ; // SHELLEXECUTEINFO.hProcess
equ SEE_MASK_CONNECTNETDRV$ to 0x00000080 ; // enables re-connecting disconnected network drives
equ SEE_MASK_NOASYNC$ to 0x00000100 ; // block on the call until the invoke has completed, use for callers that exit after calling ShellExecuteEx()
equ SEE_MASK_FLAG_DDEWAIT$ to SEE_MASK_NOASYNC$ ; // Use SEE_MASK_NOASYNC instead of SEE_MASK_FLAG_DDEWAIT as it more accuratly describes the behavior
equ SEE_MASK_DOENVSUBST$ to 0x00000200 ; // indicates that SHELLEXECUTEINFO.lpFile contains env vars that should be expanded
equ SEE_MASK_FLAG_NO_UI$ to 0x00000400 ; // disable UI including error messages
equ SEE_MASK_UNICODE$ to 0x00004000
equ SEE_MASK_NO_CONSOLE$ to 0x00008000
equ SEE_MASK_ASYNCOK$ to 0x00100000
equ SEE_MASK_HMONITOR$ to 0x00200000 ; // SHELLEXECUTEINFO.hMonitor
equ SEE_MASK_NOZONECHECKS$ to 0x00800000
equ SEE_MASK_NOQUERYCLASSSTORE$ to 0x01000000
equ SEE_MASK_WAITFORINPUTIDLE$ to 0x02000000
equ SEE_MASK_FLAG_LOG_USAGE$ to 0x04000000
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////
#endif
////////////////////////////////////////////////////////////////////////////////
////////////////////////////////////////////////////////////////////////////////