IAgentCharacter::Activate

[Microsoft Agent è deprecato a partire da Windows 7 e potrebbe non essere disponibile nelle versioni successive di Windows.]

HRESULT Activate(
   short sState, // topmost character or client setting
);

Imposta un valore che indica se un client è attivo o se un carattere è in primo piano.

  • Restituisce S_OK per indicare che l'operazione è riuscita.
  • Restituisce S_FALSE per indicare che l'operazione non è riuscita.

sState

È possibile specificare i valori seguenti per questo parametro:

Valore Descrizione
0 Impostare come non il client attivo.
1 Impostare come client attivo.
2 Impostare il carattere in alto.

 

Quando sono visibili più caratteri, solo uno dei caratteri riceve l'input vocale alla volta. Analogamente, quando più applicazioni client condividono lo stesso carattere, solo uno dei client riceve l'input del mouse (ad esempio, il clic o il trascinamento degli eventi di controllo di Microsoft Agent) alla volta. Il set di caratteri per ricevere l'input vocale e del mouse è il carattere superiore e il client che riceve l'input è il client attivo del carattere. La finestra del carattere superiore viene visualizzata anche nella parte superiore dell'ordine z della finestra dei caratteri. In genere, l'utente determina il carattere più in alto selezionandolo in modo esplicito. Tuttavia, l'attivazione più in alto cambia anche quando viene visualizzato o nascosto un carattere (il carattere diventa o non è più all'inizio, rispettivamente.

È anche possibile usare questo metodo per gestire in modo esplicito quando il client riceve l'input diretto al carattere, ad esempio quando l'applicazione stessa diventa attiva. Ad esempio, l'impostazione di State su 2 rende il carattere più in alto e il client riceve tutti gli eventi di input vocale e mouse generati dall'interazione dell'utente con il carattere. Pertanto, rende il client anche il client attivo di input del carattere. Tuttavia, è anche possibile impostare il client attivo per un carattere senza impostare il carattere in primo piano, impostando State su 1. Ciò consente al client di ricevere l'input diretto a tale carattere quando il carattere diventa all'inizio. Analogamente, è possibile impostare il client in modo che non sia il client attivo (per non ricevere l'input) quando il carattere diventa all'inizio, impostando State su 0. È possibile determinare se un carattere ha altri client correnti usando IAgentCharacter::HasOtherClients.

Evitare di chiamare questo metodo direttamente dopo un metodo Show . Mostra imposta automaticamente il client attivo di input. Quando il carattere è nascosto, la chiamata Activate potrebbe non riuscire, se viene elaborata prima del completamento del metodo Show .

Il tentativo di chiamare questo metodo con il parametro State impostato su 2 (quando il carattere specificato è nascosto) avrà esito negativo. Analogamente, se si imposta Stato su 0 e l'applicazione è l'unico client, questa chiamata ha esito negativo. Un carattere deve avere sempre un client più alto.

Nota

La chiamata a questo metodo con State impostato su 1 non genera in genere un evento AgentNotifySink::ActivateInputState a meno che non siano presenti altri caratteri caricati o che l'applicazione non sia già attiva dall'input.

 

Vedere anche

IAgentCharacter::HasOtherClients