IAgentCommand
[Der Microsoft-Agent ist ab Windows 7 veraltet und in nachfolgenden Versionen von Windows möglicherweise nicht mehr verfügbar.]
Ein Command-Objekt ist ein Element in einer Commands-Auflistung. Der Server bietet dem Benutzer Zugriff auf Ihre Befehle, wenn Ihre Clientanwendung eingabeaktiv wird. Um einen Befehl abzurufen, rufen Sie IAgentCommands::GetCommand auf.
IAgentCommand definiert eine Schnittstelle, mit der Anwendungen Eigenschaften für Command-Objekte festlegen und abfragen können, die im Popupmenü eines Zeichens und im Fenster "Sprachbefehle" angezeigt werden können. Diese Funktionen sind auch über IAgentCommandExverfügbar. Ein Command-Objekt ist ein Element in einer Commands-Auflistung. Der Server bietet dem Benutzer Zugriff auf Ihre Befehle, wenn Ihre Clientanwendung eingabeaktiv wird.
Ein Befehl kann entweder im Popupmenü des Zeichens oder im Fenster "Sprachbefehle" angezeigt werden. Um im Popupmenü angezeigt zu werden, muss eine Beschriftung vorhanden sein, und die Visible-Eigenschaft muss auf True festgelegt sein. Die Visible-Eigenschaft für das Commands-Auflistungsobjekt muss auch auf True festgelegt werden, damit der Befehl im Popupmenü angezeigt wird, wenn ihre Clientanwendung eingabeaktiv ist. Um im Fenster "Sprachbefehle" angezeigt zu werden, müssen für einen Befehl die Eigenschaften VoiceCaption und Voice festgelegt sein. (Aus Gründen der Abwärtskompatibilität wird die Einstellung Caption verwendet, wenn keine VoiceCaption vorhanden ist.)
Die Popupmenüeinträge eines Zeichens ändern sich nicht, während das Menü angezeigt wird. Wenn Sie Befehle hinzufügen oder entfernen oder deren Eigenschaften ändern, während das Popupmenü des Zeichens angezeigt wird, werden diese Änderungen im Menü angezeigt, wenn sie erneut angezeigt werden. Im Fenster "Sprachbefehle" werden jedoch Änderungen angezeigt, während Sie sie vornehmen.
In der folgenden Tabelle wird zusammengefasst, wie sich die Eigenschaften eines Befehls auf seine Darstellung auswirken.
| Caption-Eigenschaft | Voice-Caption-Eigenschaft | Voice-Eigenschaft | Visible-Eigenschaft | Wird im Popupmenü des Zeichens angezeigt. | Wird im Fenster "Sprachbefehle" angezeigt |
|---|---|---|---|---|---|
| Ja | Ja | Ja | True | Ja, beschriftungsbeschriftung | Ja, mit VoiceCaption |
| Ja | Ja | Nein:: | True | Ja, beschriftungsbeschriftung | Nein |
| Ja | Ja | Ja | False | Nein | Ja, mit VoiceCaption |
| Ja | Ja | Nein:: | False | Nein | Nein |
| Nein:: | Ja | Ja | True | Nein | Ja, mit VoiceCaption |
| Nein:: | Ja | Ja | False | Nein | Ja, mit VoiceCaption |
| Nein:: | Ja | Nein:: | True | Nein | Nein |
| Nein:: | Ja | Nein:: | False | Nein | Nein |
| Ja | Nein:: | Ja | True | Ja, beschriftungsbeschriftung | Ja, beschriftungsbeschriftung |
| Ja | Nein:: | Nein:: | True | Ja | Nein |
| Ja | Nein:: | Ja | False | Nein | Ja, beschriftungsbeschriftung |
| Ja | Nein:: | Nein:: | False | Nein | Nein |
| Nein:: | Nein:: | Ja | True | Nein | Nein² |
| No. | No. | Ja | False | Nein | Nein² |
| No. | No. | No. | True | Nein | Nein |
| No. | No. | No. | False | Nein | Nein |
¹Wenn die Eigenschafteneinstellung NULL ist. In einigen Programmiersprachen kann eine leere Zeichenfolge nicht als identisch mit einer NULL-Zeichenfolge interpretiert werden.
4Der Befehl ist weiterhin sprachanzugebar.
Wenn Sie einen Befehl mit einer Spracheinstellung definieren, definieren Sie im Allgemeinen auch Die Beschriftungs- und Spracheinstellungen für die zugehörige Commands-Sammlung. Wenn die Commands-Sammlung für eine Gruppe von Befehlen keine Einstellung Voice oder no Caption auf hat und derzeit eingabeaktiv ist, die Befehle jedoch über Caption- und Voice-Einstellungen verfügen, werden die Befehle in der Strukturansicht des Sprachbefehlsfensters unter "(nicht definierter Befehl)" angezeigt, wenn Ihre Clientanwendung eingabeaktiv wird.
Wenn der Server Eingaben empfängt, die einem der Command-Objekte entspricht, die Sie für Ihre Commands-Sammlung definiert haben, sendet er ein IAgentNotifySink::Command-Ereignis und übergibt die ID des Befehls als Attribut des IAgentUserInput-Objekts zurück. Anschließend können Sie bedingte Anweisungen verwenden, um den Befehl zu finden und zu verarbeiten.
Methoden in Vtable-Reihenfolge