[从 Windows 7 开始,Microsoft代理已弃用,在后续版本的 Windows 中可能不可用。
由于多个客户端应用程序可以共享相同的字符,并且多个客户端可以同时使用不同的字符,因此服务器将一个客户端指定为 输入活动 客户端,并将鼠标和语音输入仅发送到该客户端应用程序。 这会维护用户输入的有序管理,以便适当的客户端响应输入。
通常,用户交互确定哪些客户端应用程序变为输入-主动。 例如,如果用户单击某个字符,该字符的客户端应用程序将变为输入活动状态。 同样,如果用户说出字符的名称,它将变为输入-主动。 此外,当服务器处理字符的 Show 方法时,该字符的客户端将变为输入活动。
隐藏字符时,该字符的客户端将不再为该字符输入活动。 服务器会自动使任何剩余字符的活动客户端处于输入-主动状态。 当所有字符都处于隐藏状态时,没有客户端处于输入主动状态。 但是,在这种情况下,如果用户按下侦听热键,代理将继续侦听其命令(使用与最后一个输入活动客户端最顶层字符匹配的语音识别引擎)。
如果多个客户端共享同一个字符,服务器会将其 活动客户端指定为输入活动客户端。 活动字符是客户端顺序中最顶层的字符。 可以使用 Activate 方法将客户端设置为活动或非活动客户端。 还可以使用 Activate 方法显式使客户端输入处于活动状态;但为了避免中断字符的其他客户端,应仅在客户端应用程序处于活动状态时执行此作。 例如,如果用户单击应用程序的窗口,激活应用程序,则可以调用 Activate 方法接收和处理定向到字符的鼠标和语音输入。