IAgentCommand

[从 Windows 7 开始,Microsoft代理已弃用,在后续版本的 Windows 中可能不可用。

Command 对象是 命令 集合中的项。 服务器向用户提供对客户端应用程序变为输入活动状态的命令的访问权限。 若要检索 命令,请调用 IAgentCommands::GetCommand

IAgentCommand 定义了一个接口,允许应用程序设置和查询 命令 对象的属性,这些对象可以出现在字符的弹出菜单和语音命令窗口中。 这些函数也可从 IAgentCommandEx获取。 Command 对象是 命令 集合中的项。 当客户端应用程序处于活动状态时,服务器为用户提供对命令的访问权限。

命令 可能同时出现在字符的弹出菜单和语音命令窗口中。 若要显示在弹出菜单中,它必须具有 Caption,并且 Visible 属性设置为 True Commands 集合对象的 Visible 属性还必须设置为 True,以便在客户端应用程序处于活动状态时在弹出菜单中显示该命令。 若要显示在“语音命令”窗口中,命令 必须设置其 VoiceCaptionVoice 属性。 (为了向后兼容,如果没有 VoiceCaption,则使用 标题 设置。

显示菜单时,字符的弹出菜单项不会更改。 如果在显示字符的弹出菜单时添加或删除命令或更改其属性,则菜单会在重新显示时显示这些更改。 但是,语音命令窗口在进行更改时会显示更改。

下表总结了命令的属性如何影响其演示文稿。

Caption 属性 Voice-Caption 属性 Voice 属性 Visible 属性 显示在字符的弹出菜单中 显示在“语音命令”窗口中
是的 是的 是的 是,使用 Caption 是,使用 VoiceCaption
是的 是的 No¹ 是,使用 Caption
是的 是的 是的 是,使用 VoiceCaption
是的 是的 No¹
No¹ 是的 是的 是,使用 VoiceCaption
No¹ 是的 是的 是,使用 VoiceCaption
No¹ 是的 No¹
No¹ 是的 No¹
是的 No¹ 是的 是,使用 Caption 是,使用 Caption
是的 No¹ No¹ 是的
是的 No¹ 是的 是,使用 Caption
是的 No¹ No¹
No¹ No¹ 是的 No 平方英尺
No¹ No¹ 是的 No 平方英尺
No¹ No¹ No¹
No¹ No¹ No¹

 

¹ 如果属性设置为 null。 在某些编程语言中,空字符串可能不解释为与 null 字符串相同。

Hz 命令仍可访问语音。

通常,如果使用 语音 设置定义 命令,则还会为其关联的 命令 集合定义 CaptionVoice 设置。 如果一组命令的 命令 集合没有 语音 或没有 标题 设置并且当前为输入活动, 但是,命令 具有 标题语音 设置,命令 显示在“语音命令窗口”树视图的“(未定义命令)”下,当客户端应用程序变为输入活动状态时。

当服务器收到与为 Commands 集合定义的 命令 对象之一匹配的输入时,它会发送 IAgentNotifySink::Command 事件,并将命令的 ID 作为 IAgentUserInput 对象的属性传回。 然后,可以使用条件语句来匹配和处理命令。

Vtable Order 中的 方法

IAgentCommand 方法 描述
SetCaption 设置 命令 对象的 Caption 的值。
GetCaption 返回 Command 对象的 Caption 属性的值。
SetVoice 设置 命令 对象的 语音 文本的值。
GetVoice 返回 Command 对象的 Voice 属性的值。
SetEnabled 设置 Command 对象的 Enabled 属性的值。
GetEnabled 返回 Command 对象的 Enabled 属性的值。
SetVisible 设置 Command 对象的 Visible 属性的值。
GetVisible 返回 Command 对象的 Visible 属性的值。
SetConfidenceThreshold 设置 Command 对象的 Confidence 属性的值。
GetConfidenceThreshold 返回 Command 对象的 Confidence 属性的值。
SetConfidenceText 设置 Command 对象的 ConfidenceText 属性的值。
getConfidenceText 返回 Command 对象的 ConfidenceText 属性的值。
getID 返回 命令 对象的 ID。