備註
本檔適用於想要使用 System.Windows.Automation 命名空間中定義的受控UI自動化類別的 .NET Framework 開發人員。 如需 UI 自動化的最新資訊,請參閱 Windows 自動化 API:使用者介面自動化。
由於Microsoft使用者介面自動化使用 Windows 訊息的方式,當用戶端應用程式嘗試與 UI 線程上自己的 UI 互動時,可能會發生衝突。 這些衝突可能會導致效能非常慢,甚至會導致應用程式停止回應。
如果您的用戶端應用程式是要與桌面上的所有元素互動,包括自己的UI,您應該在不同的線程上呼叫所有UI自動化。 這包括尋找元素(例如,使用 TreeWalker 或 FindAll 方法),以及使用控件模式。
在UI自動化事件處理程式內進行UI自動化呼叫是安全的,因為事件處理程式一律會在非UI線程上呼叫。 不過,訂閱可能源自用戶端應用程式 UI 的事件時,您必須在非 UI 線程上呼叫 AddAutomationEventHandler或相關方法。 在相同執行緒上移除事件處理常式。