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,也必须将其强制转换为 UINT_PTR ,如果 uFlags 设置为 GCS_HELPTEXTW 或 GCS_VERBW,则返回 Unicode 字符串。 GCS_UNICODE 可用作位掩码,用于测试 uFlags 中所包含的标志的“W”和“A”版本。
要求
最低受支持的客户端 | Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows 2000 Server [仅限桌面应用] |
目标平台 | Windows |
标头 | shobjidl_core.h (包括 Shobjidl.h) |
DLL | Shell32.dll (版本 4.0 或更高版本) |