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_HELPTEXTWGCS_VERBW,则返回 Unicode 字符串。 GCS_UNICODE 可用作位掩码,用于测试 uFlags 中所包含的标志的“W”和“A”版本。

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows 2000 Server [仅限桌面应用]
目标平台 Windows
标头 shobjidl_core.h (包括 Shobjidl.h)
DLL Shell32.dll (版本 4.0 或更高版本)