[Microsoft代理程式從 Windows 7 開始已被取代,而且可能無法在後續版本的 Windows 中使用。]
因為多個用戶端應用程式可以共用相同的字元,而且因為多個用戶端可以同時使用不同的字元,伺服器會將一個用戶端指定為 輸入作用中 客戶端,並且只將滑鼠和語音輸入傳送至該用戶端應用程式。 這會維護使用者輸入的有序管理,讓適當的用戶端回應輸入。
一般而言,用戶互動會決定哪些用戶端應用程式變成輸入-主動。 例如,如果使用者按下字元,該字元的用戶端應用程式就會變成輸入-主動。 同樣地,如果使用者說出字元的名稱,它就會變成輸入作用中。 此外,當伺服器處理字元的 Show 方法時,該字元的用戶端會變成輸入作用中。
隱藏字元時,該字元的用戶端將不再為該字元的輸入作用中。 伺服器會自動讓作用中客戶端成為任何剩餘字元的輸入-主動。 隱藏所有字元時,沒有任何客戶端為輸入作用中。 不過,在此情況下,如果使用者按下接聽熱鍵,Agent 會繼續接聽其命令(使用符合最後一個輸入作用中用戶端最上層字元的語音辨識引擎)。
如果多個用戶端共用相同的字元,伺服器會將其 作用中用戶端指定為輸入-主動用戶端。 使用中字元是最上層的客戶端順序。 您可以使用 Activate 方法,將客戶端設定為使用中或非使用中的用戶端。 您也可以使用 Activate 方法來明確讓您的用戶端輸入作用中;但為了避免中斷字元的其他用戶端,您應該只在用戶端應用程式處於作用中狀態時才這麼做。 例如,如果使用者按兩下應用程式的視窗,啟動您的應用程式,您可以呼叫 Activate 方法來接收和處理導向字元的滑鼠和語音輸入。