CMINVOKECOMMANDINFO 結構 (shobjidl_core.h)

包含 ICoNtextMenu::InvokeCommand 用來叫用快捷方式功能表命令所需的資訊。

語法

typedef struct _CMINVOKECOMMANDINFO {
  DWORD  cbSize;
  DWORD  fMask;
  HWND   hwnd;
  LPCSTR lpVerb;
  LPCSTR lpParameters;
  LPCSTR lpDirectory;
  int    nShow;
  DWORD  dwHotKey;
  HANDLE hIcon;
} CMINVOKECOMMANDINFO;

成員

cbSize

類型: DWORD

這個結構的大小,以位元組為單位。

fMask

類型: DWORD

零或下列一或多個旗標。

CMIC_MASK_HOTKEY

dwHotKey成員有效。

CMIC_MASK_ICON

hIcon成員有效。 從 Windows Vista 起,不會使用此旗標。

CMIC_MASK_FLAG_NO_UI

系統無法顯示使用者介面元素 (例如,執行命令時) 錯誤訊息。

CMIC_MASK_NO_CONSOLE

如果快捷方式功能表處理常式需要建立新的進程,它通常會建立新的主控台。 設定 CMIC_MASK_NO_CONSOLE 旗標會隱藏新主控台的建立。

CMIC_MASK_FLAG_SEP_VDM

只有在參考以 16 位 Windows 為基礎的應用程式時,此旗標才有效。 如果設定,則快捷方式指向的應用程式會在私人 Virtual DOS Machine (VDM) 中執行。 請參閱<備註>。

CMIC_MASK_ASYNCOK

等候 DDE 交談在傳回之前終止。

CMIC_MASK_NOASYNC

Windows Vista 和更新版本。 ICoNtextMenu::InvokeCommand的實作應該是同步的,不會在完成之前傳回。 由於建議您呼叫指定此旗標的應用程式,如果它們不熟悉叫用動詞的動詞實作,則無法保證會接受此要求。

CMIC_MASK_SHIFT_DOWN

按下 SHIFT 鍵。 請使用此選項,而不是輪詢自叫用動詞之後可能變更的鍵盤目前狀態。

CMIC_MASK_CONTROL_DOWN

按下 CTRL 鍵。 請使用此選項,而不是輪詢自叫用動詞之後可能變更的鍵盤目前狀態。

CMIC_MASK_FLAG_LOG_USAGE

指出 ICoNtextMenu::InvokeCommand 的實作可能會想要追蹤針對 [最近使用的檔] 功能表等功能所叫用的專案。

CMIC_MASK_NOZONECHECKS

請勿執列區域檢查。 此旗標可讓 ShellExecuteEx 略過 IAttachmentExecute所放置的區域檢查。

hwnd

類型: HWND

視窗的控制碼,該視窗是快捷方式功能表的擁有者。 延伸模組也可以使用此控制碼作為它所顯示之任何訊息方塊或對話方塊的擁有者。

lpVerb

類型: LPCSTR

Null 終止字串的位址,指定要執行之命令的語言獨立名稱。當應用程式啟動命令時,此成員通常是字串。 系統會為下列命令字串提供預先定義的常數值。

常數 命令字串
CMDSTR_RUNAS 「RunAs」
CMDSTR_PRINT 「Print」
CMDSTR_PREVIEW 「Preview」
CMDSTR_OPEN 「Open」
 

這不是固定集;操作功能表處理常式可以發明新的標準動詞,而應用程式可以叫用它們。

如果標準動詞存在且功能表處理常式未實作標準動詞,它必須傳回失敗碼,讓下一個處理常式能夠處理這個動詞。 無法這樣做將會中斷系統中的功能,包括 ShellExecute

或者,這個參數可以是 MAKEINTRESOURCE (offset) ,其中 offset 是命令要執行的功能表識別碼位移。實作可以使用 IS_INTRESOURCE 宏來偵測採用此替代專案。 當使用者選擇功能表命令時,Shell 會使用此替代方法。

lpParameters

類型: LPCSTR

選擇性字串,包含傳遞至 命令的參數。 此字串的格式取決於要叫用的命令。 此成員一律為 Shell 延伸模組所插入功能表項目的 Null

lpDirectory

類型: LPCSTR

選擇性的工作目錄名稱。 此成員一律為 Shell 延伸模組所插入功能表項目的 Null

nShow

類型: int

如果命令顯示視窗或啟動應用程式,一組要傳遞至 ShowWindow 函式的SW_值。

dwHotKey

類型: DWORD

選擇性的鍵盤快速鍵,可指派給命令所啟用的任何應用程式。 如果 fMask 參數未指定 CMIC_MASK_HOTKEY,則會忽略此成員。

hIcon

類型: HANDLE

用於命令所啟動之任何應用程式的圖示。 如果 fMask 成員未指定 CMIC_MASK_ICON,則會忽略此成員。

備註

雖然ICoNtextMenu::InvokeCommand宣告會指定pici參數的CMINVOKECOMMANDINFO結構,但它也可以接受CMINVOKECOMMANDINFOEX結構。 如果您要實作這個方法,您必須檢查 cbSize ,以判斷已傳遞哪一個結構。

規格需求

   
最低支援的用戶端 Windows XP [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
標頭 shobjidl_core.h (包括 Shobjidl.h)