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 參數。 此參數必須是下列其中一個值。
值 | 意義 |
---|---|
|
表示 uIDItem 會提供功能表項的識別碼。 如果未指定 MF_BYCOMMAND 或 MF_BYPOSITION 旗標, 則MF_BYCOMMAND 旗標是預設旗標。 |
|
表示 uIDItem 會提供功能表項以零起始的相對位置。 |
傳回值
類型: int
如果函式成功,傳回值會指定複製到緩衝區的字元數,不包括終止的 Null 字元。
如果此函式失敗,則傳回值為零。
如果指定的專案不是 類型MIIM_STRING 或 MFT_STRING,則傳回值為零。
備註
nMaxCount 參數必須大於文字字串中的字元數,以容納終止的 Null 字元。
如果 nMaxCount 為 0,函式會傳回功能表字串的長度。
安全性警告
lpString 參數是 TCHAR 緩衝區,而 nMaxCount 是字元中的功能表字串長度。 調整這些參數的大小不正確可能會導致截斷字串,導致數據遺失。範例
如需範例,請參閱 建立用戶可編輯加速器。
注意
winuser.h 標頭會將 GetMenuString 定義為別名,根據 UNICODE 預處理器常數的定義,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 2000 Professional [僅限傳統型應用程式] |
最低支援的伺服器 | Windows 2000 Server [僅限桌面應用程式] |
目標平台 | Windows |
標頭 | winuser.h (包含 Windows.h) |
程式庫 | User32.lib |
Dll | User32.dll |
API 集合 | ext-ms-win-ntuser-menu-l1-1-3 (Windows 10 10.0.14393 版) |
另請參閱
概念
參考