Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
[O Microsoft Agent foi preterido a partir do Windows 7 e pode não estar disponível em versões subsequentes do Windows.]
O servidor do Microsoft Agent mantém uma lista de comandos que estão atualmente disponíveis para o usuário. Essa lista inclui comandos que o servidor define para interação geral, como Ocultar e Propriedades do Microsoft Agent, a lista de clientes disponíveis (mas não ativos de entrada) e os comandos definidos pelo cliente ativo atual. Os dois primeiros conjuntos de comandos são comandos globais; ou seja, eles estão disponíveis a qualquer momento, independentemente do cliente ativo de entrada. Os comandos definidos pelo cliente estão disponíveis somente quando esse cliente está ativo de entrada.
Recupere um interface IAgentCommands consultando a interface IAgentCharacter para IAgentCommands. Cada aplicativo cliente do Microsoft Agent pode definir uma coleção de comandos chamada Commands collection. Para adicionar um Command à coleção, use o método Add ou Insert. Embora você possa especificar as propriedades de um Command usando métodos IAgentCommand, para um desempenho de código ideal, especifique todas as propriedades de um Command's no IAgentCommands::Add ou IAgentCommands::Insert métodos ao definir inicialmente as propriedades de um novo Command. Você pode usar os métodos IAgentCommand para consultar ou alterar as configurações de propriedade.
Para cada de Comandos na coleçãoComandos do, você pode determinar se o comando aparece no menu pop-up do personagem, na Janela de Comandos de Voz, em ambos ou em nenhum deles. Por exemplo, se você quiser que um comando apareça no menu pop-up do caractere, defina a Caption do comando e propriedades Visible. Para exibir o comando no Janela de Comandos de Voz do, defina as de Legenda do comando e propriedades de de Voz.
Um usuário pode acessar os comandos individuais em sua coleção Comandos somente quando seu aplicativo cliente estiver ativo de entrada e o caractere estiver visível. Portanto, normalmente você desejará definir as propriedades Caption, VoiceCaptione Voice para o objeto Commands collection, bem como para os comandos na coleção, porque isso coloca uma entrada para sua coleção Comandos no menu pop-up de um personagem e na janela Comandos de voz. Quando o usuário alterna para seu cliente escolhendo sua entrada Comandos, o servidor automaticamente torna o cliente de entrada ativo, notificando seu aplicativo cliente usando o IAgentNotifySink::ActivateInputState e disponibiliza os de Comandos em sua coleção. O servidor também notifica o cliente que não está mais ativo de entrada com o IAgentNotifySink::ActivateInputState evento. Isso permite que o servidor apresente e aceite apenas os comandos que se aplicam ao contexto do cliente ativo de entrada atual. Ele também serve para evitar Command-name colisões entre clientes.
Um cliente também pode solicitar explicitamente para se tornar o cliente ativo de entrada usando o método IAgentCharacter::Activate. Esse método também suporta a configuração de seu aplicativo para não ser o cliente ativo de entrada. Você pode querer usar esse método ao compartilhar um caractere com outro aplicativo, definindo seu aplicativo para ser input-active quando a janela do aplicativo recebe foco e não input-active quando perde o foco.
Da mesma forma, você pode usar IAgentCharacter::Activate para definir seu aplicativo para ser (ou não ser) o cliente ativo do personagem. O cliente ativo é o cliente que recebe entrada quando seu caractere é o caractere mais alto. Quando esse status muda, o servidor notifica seu aplicativo com o IAgentNotifySinkEx::ActiveClientChange evento.
Quando o menu pop-up de um caractere é exibido, as alterações nas propriedades de uma coleçãoComandosou os comandos em sua coleção não aparecem até que o usuário exiba novamente o menu. No entanto, quando aberta, a janela de comandos de voz exibe as alterações à medida que elas acontecem.
IAgentCommands define uma interface que permite que os aplicativos adicionem, remova, definam e consultem propriedades para uma coleçãoCommands. Essas funções também estão disponíveis em IAgentCommandsEx.
Uma coleçãoComandospode aparecer como um comando no menu pop-up e na janela Comandos de voz de um personagem. Para que a coleção Comandos apareça, você deve definir sua propriedade Caption. A tabela a seguir resume como as propriedades de uma coleção Commands afetam sua apresentação.
| Propriedade Caption | Voice-Caption Propriedade | Propriedade Voice | Propriedade visível | Aparece no menu pop-up do personagem | Aparece na janela Comandos de voz |
|---|---|---|---|---|---|
| Sim | Sim | Sim | Verdadeiro | Sim, usando Caption | Sim, usando VoiceCaption |
| Sim | Sim | Não¹ | Verdadeiro | Sim, usando Caption | Não |
| Sim | Sim | Sim | Falso | Não | Sim, usando VoiceCaption |
| Sim | Sim | Não¹ | Falso | Não | Não |
| Não¹ | Sim | Sim | Verdadeiro | Não | Sim, usando VoiceCaption |
| Não¹ | Sim | Sim | Falso | Não | Sim, usando VoiceCaption |
| Não¹ | Sim | Não¹ | Verdadeiro | Não | Não |
| Não¹ | Sim | Não¹ | Falso | Não | Não |
| Sim | Não¹ | Sim | Verdadeiro | Sim, usando Caption | Sim, usando Caption |
| Sim | Não¹ | Não¹ | Verdadeiro | Sim | Não |
| Sim | Não¹ | Sim | Falso | Não | Sim, usando Caption |
| Sim | Não¹ | Não¹ | Falso | Não | Não |
| Não¹ | Não¹ | Sim | Verdadeiro | Não | Não² |
| Não¹ | Não¹ | Sim | Falso | Não | Não² |
| Não¹ | Não¹ | Não¹ | Verdadeiro | Não | Não |
| Não¹ | Não¹ | Não¹ | Falso | Não | Não |
¹Se a configuração da propriedade for null. Em algumas linguagens de programação, uma cadeia de caracteres vazia pode não ser interpretada da mesma forma que uma cadeia de caracteres nula.
²O comando ainda é acessível por voz.
Métodos em Vtable Order
| Métodos IAgentCommands | Descrição |
|---|---|
| GetCommand | Recupera um objetoCommandda coleçãoCommands. |
| GetCount | Retorna o valor do número de Comandos em uma coleçãoComandos. |
| SetCaption | Define o valor da propriedade Caption para uma coleçãoCommands. |
| GetCaption | Retorna o valor da propriedade Caption de uma coleçãoCommands. |
| SetVoice | Define o valor da propriedade Voice para uma coleção Commands. |
| GetVoice | Retorna o valor da propriedade Voice de uma coleçãoCommands. |
| SetVisible | Define o valor da propriedade Visible para uma coleçãoCommands. |
| GetVisible | Retorna o valor da propriedade Visible de uma coleçãoCommands. |
| Adicionar | Adiciona um objeto Command a uma coleçãoCommands. |
| Inserir | Insere um objeto Command em uma coleçãoCommands. |
| Remover | Remove um objetoCommandem uma coleçãoCommands. |
| RemoveAll | Remove todos os objetos Command de uma coleçãoCommands. |