[Microsoft代理程式從 Windows 7 開始已被取代,而且可能無法在後續版本的 Windows 中使用。]
Command 物件是 Commands 集合中的一個項目。 當用戶端應用程式開始接受輸入時,伺服器會提供使用者存取 Command 物件。
若要存取 Command 物件的 屬性,請使用其 Name 屬性在其集合中參考它。 在 VBScript 和 Visual Basic 中,您可以直接使用 Name 属性:
<i>agent</i>.Characters("<i>CharacterID</i>").Commands("<i>Name</i>").<i>property</i> [= <i>value</i>]
針對不支援集合的程式設計語言,請使用 Command 方法:
<i>agent</i>.Characters("<i>CharacterID</i>").Commands.Command("<i>Name</i>").<i>property</i> [= <i>value</i>]
您也可以透過為 Command 物件建立一個參考來引用它。 在 Visual Basic 中,宣告物件變數,並使用 Set 語句來建立參考:
Dim Cmd1 as Object
...
Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
...
Cmd1.Enabled = True
在 Visual Basic 5.0 中,您也可以將物件宣告為類型,IAgentCtlCommandEx 並建立參考。 此慣例可啟用早期系結,進而提升效能:
Dim Cmd1 as IAgentCtlCommandEx
...
Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
...
Cmd1.Enabled = True
在 VBScript 中,您可以將參考宣告為特定類型,但您仍然可以宣告變數,並將它設定為集合中的 Command:
Dim Cmd1
...
Set Cmd1 = Agent.Characters("MyCharacterID").Commands("SampleCommand")
...
Cmd1.Enabled = True
命令可能會出現在字元的快捷功能表和命令視窗,或同時出現在兩者中。 若要出現在彈出視窗中,它必須具有標題,且 Visible 屬性設定為 True。 此外,其 Commands 集合物件 Visible 屬性也必須設定為 true 。 若要出現在 [命令] 視窗中,命令 必須設定其 Caption 和 Voice 属性。 請注意,當選單顯示時,字元的彈出式選單項目不會變更。 如果您在顯示字元的快捷功能表時新增或移除命令或變更其屬性,每當使用者下次顯示時,功能表就會顯示這些變更。 不過,命令視窗會動態反映您所做的任何變更。
下表摘要說明 命令的屬性 如何影響其呈現方式:
Caption 屬性
Voice-Caption 屬性
Voice 屬性
可見屬性
Enabled 屬性
出現在字元的快捷功能表中
出現在命令視窗中
是的
是的
是的
真實
真
一般,使用 標題
是,使用 VoiceCaption
是的
是的
是的
真實
假
停用,使用 Caption
不
是的
是的
是的
假
真實
未出現
是,使用 VoiceCaption
是的
是的
是的
假
假
未出現
不
是的
是的
不
真
正確
一般,使用 標題
不
是的
是的
不
真的
假
停用,使用 Caption
不
是的
是的
不
假
真
未出現
不
是的
是的
不
假
假
未出現
不
不
是的
是的
真實
真
未出現
是,使用 VoiceCaption
不
是的
是的
正確
假
未出現
不
不
是的
是的
假
真
未出現
是,使用 VoiceCaption
不
是的
是的
假
假
未出現
不
不
是的
不
真
真實
未出現
不
不
是的
不
正確
假
未出現
不
不
是的
不
假
真實
未出現
不
不
是的
不
假
假
未出現
不
是的
不
是的
真
正確
一般,使用 Caption
是,使用 標題
是的
不
是的
真實
假
停用,使用字幕
不
是的
不
是的
假
真
未出現
是,使用 標題
是的
不
是的
假
假
未出現
不
是的
不
不
正確
對
一般,使用 標題
不
是的
不
不
真的
假
停用,使用 Caption
不
是的
不
不
假
真
未出現
不
是的
不
不
假
假
未出現
不
不
不
是的
真
真實
未出現
不
不
不
是的
真實
假
未出現
不
不
不
是的
假
真實
未出現
不
不
不
是的
假
假
未出現
不
不
不
不
是
真實
未出現
不
不
不
不
正確
假
未出現
不
不
不
不
假
真
未出現
不
不
不
不
假
假
未出現
不
如果屬性設定為 null。 在某些程式設計語言中,空字串可能無法解譯為與 Null 字串相同。 命令仍可供語音存取。
當伺服器收到其中一個命令的輸入時,它會傳送 Command 事件,並將 Command 的名稱傳回為 UserInput 物件的屬性。 然後,您可以使用條件語句來比對和處理 Command。