99 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			Plaintext
		
	
	
	
	
	
			
		
		
	
	
			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
 | |
| ////////////////////////////////////////////////////////////////////////////////
 | |
| ////////////////////////////////////////////////////////////////////////////////
 |