GetMenuStringA 関数 (winuser.h)
指定したメニュー項目のテキスト文字列を指定したバッファーにコピーします。
構文
int GetMenuStringA(
[in] HMENU hMenu,
[in] UINT uIDItem,
[out, optional] LPSTR lpString,
[in] int cchMax,
[in] UINT flags
);
パラメーター
[in] hMenu
種類: HMENU
メニューへのハンドル。
[in] uIDItem
型: UINT
uFlag パラメーターによって決定される、変更するメニュー項目。
[out, optional] lpString
種類: LPTSTR
null で終わる文字列を受け取るバッファー。 文字列が lpString より長いまたは長い場合、文字列は切り捨てられ、終端の null 文字が追加されます。 lpString が NULL の場合、この関数はメニュー文字列の長さを返します。
[in] cchMax
型: int
コピーする文字列の最大長 (文字数)。 文字列が nMaxCount パラメーターで指定された最大値より長い場合、余分な文字は切り捨てられます。 nMaxCount が 0 の場合、この関数はメニュー文字列の長さを返します。
[in] flags
型: UINT
uIDItem パラメーターの解釈方法を示します。 このパラメーターには次のいずれかの値を指定する必要があります。
戻り値
型: int
関数が成功した場合、戻り値は、終端の null 文字を含めず、バッファーにコピーされる文字数を指定します。
関数が失敗した場合は、0 を返します。
指定した項目が 型MIIM_STRING または MFT_STRINGでない場合、戻り値は 0 になります。
注釈
nMaxCount パラメーターは、終端の null 文字に対応するために、テキスト文字列内の文字数より 1 大きい値である必要があります。
nMaxCount が 0 の場合、この関数はメニュー文字列の長さを返します。
セキュリティの警告
lpString パラメーターは TCHAR バッファーで、nMaxCount はメニュー文字列の文字数です。 これらのパラメーターのサイズを誤って設定すると、文字列が切り捨てられ、データが失われる可能性があります。例
例については、「 ユーザー編集可能アクセラレータの作成」を参照してください。
注意
winuser.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして GetMenuString を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 2000 Professional [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winuser.h (Windows.h を含む) |
Library | User32.lib |
[DLL] | User32.dll |
API セット | ext-ms-win-ntuser-menu-l1-1-3 (Windows 10 バージョン 10.0.14393 で導入) |
関連項目
概念
参照