Freigeben über


IAgentCommands

[Der Microsoft-Agent ist ab Windows 7 veraltet und kann in nachfolgenden Versionen von Windows nicht verfügbar sein.]

Der Microsoft Agent-Server verwaltet eine Liste der Befehle, die dem Benutzer derzeit zur Verfügung stehen. Diese Liste enthält Befehle, die der Server für die allgemeine Interaktion definiert, z. B. "Ausblenden" und "Microsoft Agent-Eigenschaften", die Liste der verfügbaren (aber nicht eingabeaktiven) Clients sowie die vom aktuellen aktiven Client definierten Befehle. Die ersten beiden Befehlssätze sind globale Befehle; das heißt, sie sind jederzeit verfügbar, unabhängig vom eingabeaktiven Client. Clientdefinierte Befehle sind nur verfügbar, wenn dieser Client eingabeaktiv ist.

Rufen Sie eine IAgentCommands- Schnittstelle ab, indem Sie die IAgentCharacter-schnittstelle für IAgentCommands-abfragen. Jede Microsoft Agent-Clientanwendung kann eine Sammlung von Befehlen definieren, die als Commands Collection bezeichnet werden. Wenn Sie der Auflistung ein Command- hinzufügen möchten, verwenden Sie die Methode " hinzufügen" oder "Insert". Obwohl Sie die Eigenschaften eines Befehls mithilfe IAgentCommand- Methoden angeben können, geben Sie für eine optimale Codeleistung alle Eigenschaften eines Command-in der IAgentCommands::Add oder IAgentCommands::Insert Methoden an, wenn Sie die Eigenschaften für eine neue Commandfestlegen. Sie können die IAgentCommand- Methoden verwenden, um die Eigenschafteneinstellungen abzufragen oder zu ändern.

Für jedes Command- in der Commands-Auflistung können Sie bestimmen, ob der Befehl im Popupmenü des Zeichens, im Sprachbefehlsfenster, in beiden oder in keiner der Beiden angezeigt wird. Wenn beispielsweise ein Befehl im Popupmenü für das Zeichen angezeigt werden soll, legen Sie die eigenschaften "Caption" des Befehls und "Visible" fest. Um den Befehl im Sprachbefehlsfensteranzuzeigen, legen Sie die eigenschaften Caption des Befehls und Voice fest.

Ein Benutzer kann nur dann auf die einzelnen Befehle in Ihrer Commands-Auflistung zugreifen, wenn die Clientanwendung eingabeaktiv ist und das Zeichen sichtbar ist. Daher möchten Sie in der Regel die eigenschaften Caption, VoiceCaptionund Voice Eigenschaften für das Commands Collection-Objekt sowie für die Befehle in der Auflistung festlegen, da dadurch ein Eintrag für Ihre Commands -Auflistung im Popupmenü eines Zeichens und im Sprachbefehlsfenster platziert wird. Wenn der Benutzer zu Ihrem Client wechselt, indem er seine Befehle Eintrag auswählt, macht der Server ihre Clienteingabe automatisch aktiv und benachrichtigt Ihre Clientanwendung mithilfe der IAgentNotifySink::ActivateInputState und stellt die Befehle in seiner Sammlung zur Verfügung. Der Server benachrichtigt auch den Client, der nicht mehr mit dem IAgentNotifySink::ActivateInputState Ereignis eingabeaktiv ist. Dadurch kann der Server nur die Commands präsentieren und akzeptieren, die für den Kontext des aktuellen eingabeaktiven Clients gelten. Es dient auch dazu, Command-name Kollisionen zwischen Clients zu vermeiden.

Ein Client kann auch explizit anfordern, den eingabeaktiven Client mithilfe der IAgentCharacter::Activate-Methode auszuführen. Diese Methode unterstützt auch das Festlegen der Anwendung, dass sie nicht der eingabeaktive Client ist. Sie können diese Methode verwenden, wenn Sie ein Zeichen für eine andere Anwendung freigeben, indem Sie festlegen, dass Ihre Anwendung eingabeaktiv ist, wenn das Anwendungsfenster den Fokus erhält und nicht eingabeaktiv ist, wenn der Fokus verloren geht.

Ebenso können Sie IAgentCharacter::Activate verwenden, um die Anwendung auf den aktiven Client des Zeichens festzulegen (oder nicht). Der aktive Client ist der Client, der Eingaben empfängt, wenn sein Zeichen das oberste Zeichen ist. Wenn dieser Status geändert wird, benachrichtigt der Server Ihre Anwendung mit dem IAgentNotifySinkEx::ActiveClientChange Ereignis.

Wenn das Popupmenü eines Zeichens angezeigt wird, werden Änderungen an den Eigenschaften einer Commands -Auflistung oder die Befehle in der Auflistung erst angezeigt, wenn der Benutzer das Menü erneut anzeigt. Wenn das Sprachbefehlsfenster geöffnet ist, werden beim Öffnen jedoch Änderungen angezeigt.

IAgentCommands definiert eine Schnittstelle, mit der Anwendungen Eigenschaften für eine Commands -Auflistung hinzufügen, entfernen, festlegen und abfragen können. Diese Funktionen sind auch über IAgentCommandsExverfügbar.

Eine Commands-Auflistung kann sowohl im Popupmenü als auch im Sprachbefehlsfenster für ein Zeichen als Befehl angezeigt werden. Damit die Commands--Auflistung angezeigt wird, müssen Sie die Caption-Eigenschaft festlegen. In der folgenden Tabelle wird zusammengefasst, wie sich die Eigenschaften einer Commands -Auflistung auf ihre Präsentation auswirken.

Caption-Eigenschaft Voice-Caption-Eigenschaft Voice-Eigenschaft Visible-Eigenschaft Im Popupmenü des Zeichens angezeigt Wird im Sprachbefehlsfenster angezeigt
Ja Ja Ja STIMMT Ja, mit Beschriftungs- Ja, verwenden Sie VoiceCaption-
Ja Ja No¹ STIMMT Ja, mit Beschriftungs- Nein
Ja Ja Ja FALSCH Nein Ja, verwenden Sie VoiceCaption-
Ja Ja No¹ FALSCH Nein Nein
No¹ Ja Ja STIMMT Nein Ja, verwenden Sie VoiceCaption-
No¹ Ja Ja FALSCH Nein Ja, verwenden Sie VoiceCaption-
No¹ Ja No¹ STIMMT Nein Nein
No¹ Ja No¹ FALSCH Nein Nein
Ja No¹ Ja STIMMT Ja, mit Beschriftungs- Ja, mit Beschriftungs-
Ja No¹ No¹ STIMMT Ja Nein
Ja No¹ Ja FALSCH Nein Ja, mit Beschriftungs-
Ja No¹ No¹ FALSCH Nein Nein
No¹ No¹ Ja STIMMT Nein No²
No¹ No¹ Ja FALSCH Nein No²
No¹ No¹ No¹ STIMMT Nein Nein
No¹ No¹ No¹ FALSCH Nein Nein

 

¹ Wenn die Eigenschaftseinstellung null ist. In einigen Programmiersprachen wird möglicherweise keine leere Zeichenfolge wie eine NULL-Zeichenfolge interpretiert.

² Der Befehl ist immer noch sprachgeschützt.

Methoden in Vtable Order

IAgentCommands-Methoden Beschreibung
GetCommand- Ruft ein Command -Objekt aus der Commands -Auflistung ab.
GetCount- Gibt den Wert der Anzahl der Commands- in einer Commands -Auflistung zurück.
SetCaption- Legt den Wert der Caption -Eigenschaft für eine Commands -Auflistung fest.
GetCaption- Gibt den Wert der eigenschaft Caption einer Commands -Auflistung zurück.
SetVoice- Legt den Wert der eigenschaft Voice für eine Commands -Auflistung fest.
GetVoice- Gibt den Wert der Voice -Eigenschaft einer Commands -Auflistung zurück.
SetVisible- Legt den Wert der eigenschaft Visible für eine Commands -Auflistung fest.
GetVisible- Gibt den Wert der Visible -Eigenschaft einer Commands -Auflistung zurück.
hinzufügen Fügt einer Commands -Auflistung ein Command -Objekt hinzu.
einfügen Fügt ein Command -Objekt in eine Commands -Auflistung ein.
entfernen Entfernt ein Command -Objekt in einer Commands -Auflistung.
RemoveAll- Entfernt alle Command -Objekte aus einer Commands -Auflistung.