IContextMenu::GetCommandString メソッド (shobjidl_core.h)
ヘルプ文字列や、コマンドの言語に依存しない名前( 正規名)など、ショートカット メニュー コマンドに関する情報を取得します。
構文
HRESULT GetCommandString(
UINT_PTR idCmd,
UINT uType,
UINT *pReserved,
CHAR *pszName,
UINT cchMax
);
パラメーター
idCmd
種類: UINT_PTR
メニュー コマンド識別子のオフセット。
uType
型: UINT
返す情報を指定するフラグ。 このパラメーターには、次のいずれかの値を指定できます。
GCS_HELPTEXTA
pszName を、コマンドのヘルプ テキストを含む ANSI 文字列に設定します。
GCS_HELPTEXTW
pszName を、コマンドのヘルプ テキストを含む Unicode 文字列に設定します。
GCS_VALIDATEA
メニュー項目が存在する場合はS_OKを返し、それ以外の場合はS_FALSE返します。
GCS_VALIDATEW
メニュー項目が存在する場合はS_OKを返し、それ以外の場合はS_FALSE返します。
GCS_VERBA
pszName を、メニュー項目の言語に依存しないコマンド名を含む ANSI 文字列に設定します。
GCS_VERBW
pszName を、メニュー項目の言語に依存しないコマンド名を含む Unicode 文字列に設定します。
pReserved
型: UINT*
予約済み。 アプリケーションは、このメソッドを呼び出すときに NULL を 指定する必要があり、ハンドラーは呼び出されたときにこのパラメーターを無視する必要があります。
pszName
種類: LPSTR
取得される null で終わる文字列を受け取るバッファーのアドレス。
cchMax
型: UINT
null で終わる文字列を受け取るバッファーのサイズ (文字数)。
戻り値
型: HRESULT
このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。
解説
言語に依存しないコマンド名 ( 動詞) は、 IContextMenu::InvokeCommand メソッドに渡して、アプリケーションによってコマンドをアクティブ化できる名前です。 ヘルプ テキストは、Windows エクスプローラーがステータス バーに表示するコマンドの説明です。 適度に短い (40 文字以下) 必要があります。
いくつかの一般的な動詞は、正規名 (たとえば、 開く、 印刷、 削除、 名前変更) で識別できます。 クライアントは、pszName が指す文字列をこれらの正規名と比較して、ショートカット メニューに存在するチェックできます。
pszName は LPSTR として宣言されていますが、uFlags が GCS_HELPTEXTWまたは GCS_VERBW に設定されている場合は、それを UINT_PTR にキャストし、Unicode 文字列を返す必要があります。 GCS_UNICODE は、含まれているフラグの 'W' バージョンと 'A' バージョンの uFlags をテストするためのビットマスクとして使用できます。
要件
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | shobjidl_core.h (Shobjidl.h を含む) |
[DLL] | Shell32.dll (バージョン 4.0 以降) |