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