SHELLEXECUTEINFO  9GEKLB 

 

Specifies an enumerated type that defines flags used with the IShellFolder::EnumObjects method.

The SHELLEXECUTEINFO structure contains information used by the ShellExecuteEx28RU_HC function.

typedef struct _SHELLEXECUTEINFO {    // sei

    DWORD     cbSize;

    ULONG     fMask;

    HWND      hwnd;

    LPCSTR    lpVerb;

    LPCSTR    lpFile;

    LPCSTR    lpParameters;

    LPCSTR    lpDirectory;

    int       nShow;

    HINSTANCE hInstApp;

 

    // Optional members

    LPVOID lpIDList;

    LPCSTR lpClass;

    HKEY   hkeyClass;

    DWORD  dwHotKey;

    HANDLE hIcon;

    HANDLE hProcess;

} SHELLEXECUTEINFO, FAR *LPSHELLEXECUTEINFO;

 

Members

cbSize

Specifies the size, in bytes, of the structure.

fMask

This is an array of flags that indicate the content and validity of the other structure members. You can specify a combination of the following values:

Value

Meaning

SEE_MASK_CLASSKEY

Use the class key given by the hkeyClass member.

SEE_MASK_CLASSNAME

Use the class name given by the lpClass member.

SEE_MASK_CONNECTNETDRV

The lpFile member is a Universal Naming Convention (UNC) path of a file on a network. Validate the share and connect to a drive letter.

SEE_MASK_DOENVSUBST

Expand any environment variables specified in the string given by the lpDirectory or lpFile member.

SEE_MASK_FLAG_DDEWAIT

Wait for the DDE conversation to terminate before returning, if the ShellExecuteEx28RU_HC function causes a DDE conversation to start.

SEE_MASK_FLAG_NO_UI

Do not display an error message box if an error occurs.

SEE_MASK_HOTKEY

Use the hot key given by the dwHotKey member.

SEE_MASK_ICON

Use the icon given by the hIcon member.

SEE_MASK_IDLIST

Use the item identifier list given by the lpIDList member.

SEE_MASK_INVOKEIDLIST

Use the item identifier list given by the lpIDList member to invoke an application. If this member is NULL, the function creates an item identifier list and invokes the application. SEE_MASK_INVOKEIDLIST overrides SEE_MASK_IDLIST.

SEE_MASK_NOCLOSEPROCESS

Leave the process running after the ShellExecuteEx28RU_HC function exits. The hProcess member receives the handle of the process.

 

hwnd

Handle to the parent window for any message boxes that the system may produce while executing this function (for example, for error reporting).

lpVerb

Pointer to a string specifying the name of a verb. The verb specifies an action for the application to perform. This member defaults to  Open  if no verb is specified.

lpFile

Pointer to a list of null-terminated strings that specify the names of the files to open or print. The function can open an executable file or a document file. The function can print a document file. If the path is not included with a name, the current directory is assumed.

lpParameters

Pointer to a null-terminated string containing the application parameters. The parameters must be separated by spaces. To include double quotation marks, you must enclose the marks in double quotation marks, as in the following example:

sei.lpParameters = "An example: \"\"\"quoted text\"\"\"";
 

In this case, the application receives three parameters: An, example:, and  quoted text .

If lpFile specifies a document file, lpParameters should be NULL.

lpDirectory

Pointer to a null-terminated string that specifies the name of the working directory. If this member is not specified, the current directory is used as the working directory.

nShow

Show flags. Can be one of the SW_ values described for the ShowWindow3MEJBZS function. If lpFile specifies an executable file, nShow specifies how the application is to be shown when it is opened. If lpFile specifies a document file, nShow should be zero.

hInstApp

Handle to the instance of the application that was started or an error value if the application could not be started. (This handle could also be the handle of a dynamic data exchange [DDE] server application.) This member is set on return. Error values can be one of the following:

Value

Meaning

SE_ERR_FNF

File not found

SE_ERR_PNF

Path not found

SE_ERR_ACCESSDENIED

Access denied

SE_ERR_OOM

Out of memory

SE_ERR_DLLNOTFOUND

Dynamic-link library not found

SE_ERR_SHARE

Cannot share open file

SE_ERR_ASSOCINCOMPLETE

File association information not complete

SE_ERR_DDETIMEOUT

DDE operation timed out

SE_ERR_DDEFAIL

DDE operation failed

SE_ERR_DDEBUSY

DDE operation busy

SE_ERR_NOASSOC

File association not available

 

lpIDList

Pointer to an ITEMIDLIST16GUB2N structure that contains an item identifier list that uniquely identifies the file to execute. Ignored if fMask is not set to SEE_MASK_IDLIST.

lpClass

Pointer to a null-terminated string specifying the name of a file class or a globally unique identifier (GUID). Ignored if fMask is not set to SEE_MASK_CLASSNAME.

hkeyClass

Handle to the registry key for the file class. Ignored if fMask is not set to SEE_MASK_CLASSKEY.

dwHotKey

Hot key to associate with the application. The low-order word is the virtual-key code, and the high-order word is a modifier flag (HOTKEYF_). For a list of modifier flags, see the description of the WM_SETHOTKEY13516 message. Ignored if fMask is not set to SEE_MASK_HOTKEY.

hIcon

Handle to the icon for the file class. Ignored if fMask is not set to SEE_MASK_ICON.

hProcess

Handle to the newly started application. This member is set on return and is always NULL if fMask is not set to SEE_MASK_NOCLOSEPROCESS.

 

See Also

ITEMIDLIST, ShellExecuteEx, ShowWindow, WM_SETHOTKEY