CMINVOKECOMMANDINFO

Contains information about a context menu command.

typedef struct _CMInvokeCommandInfo {

DWORD cbSize; // sizeof(CMINVOKECOMMANDINFO)

DWORD fMask;

HWND hwnd;

LPCSTR lpVerb;

LPCSTR lpParameters;

LPCSTR lpDirectory;

int nShow;

DWORD dwHotKey;

HANDLE hIcon;

} CMINVOKECOMMANDINFO, *LPCMINVOKECOMMANDINFO;

Members

fMask

Value specifying zero or more of the following flags:

CMIC_MASK_HOTKEY Specifies that the dwHotKey member is valid.
CMIC_MASK_ICON Specifies that the hIcon member is valid.
CMIC_MASK_FLAG_NO_UI Prevents the system from displaying user interface elements (for example, error messages) while carrying out a command.

hwnd

Handle of the window that owned the context menu, such as the desktop, the explorer, or the tray. An extension might specify this handle as the owner window of any message boxes or dialog boxes it displays.

lpVerb

32-bit value containing zero in the high-order word and the menu-identifier offset of the command to carry out in the low-order word. The shell specifies this value (using the MAKEINTRESOURCE macro) when the user chooses a menu command.

If the high-order word is not zero, this member is the address of a null-terminated string specifying the language-independent name of the command to carry out. This member is typically a string when a command is being activated by an application. The system provides predefined constant values for the following command strings:

Value String
CMDSTR_NEWFOLDER "NewFolder"
CMDSTR_VIEWDETAILS "ViewDetails"
CMDSTR_VIEWLIST "ViewList"

lpParameters

Optional parameters. This member is always NULL for menu items inserted by a shell extension.

lpDirectory

Optional working directory name. This member is always NULL for menu items inserted by a shell extension.

nShow

Flag to pass to the ShowWindow function if the command displays a window or starts an application.

dwHotKey

Optional hot key to assign any application activated by the command. If fMask does not specify CMIC_MASK_HOTKEY, this member is ignored.

hIcon

Icon to use for any application activated by the command. If the fMask member does not specify CMIC_MASK_ICON, this member is ignored.

Remarks

The address of this structure is passed to the IContextMenu::InvokeCommand method.

See Also

IContextMenu::InvokeCommand, MAKEINTRESOURCE, ShowWindow