Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Diese Dokumentation richtet sich an .NET Framework-Entwickler, die die verwalteten Benutzeroberflächenautomatisierungs-Klassen verwenden möchten, die im System.Windows.Automation-Namespace definiert sind. Die neuesten Informationen zur Benutzeroberflächenautomatisierung finden Sie unter Windows Automation API: Benutzeroberflächenautomatisierung.
Aufgrund der Art und Weise, wie die Microsoft-Benutzeroberflächenautomatisierung Windows-Meldungen verwendet, können Konflikte auftreten, wenn eine Clientanwendung versucht, mit ihrer eigenen Benutzeroberfläche im UI-Thread zu interagieren. Diese Konflikte können zu einer sehr langsamen Leistung führen oder sogar dazu führen, dass die Anwendung nicht mehr reagiert.
Wenn Ihre Clientanwendung für die Interaktion mit allen Elementen auf dem Desktop vorgesehen ist, einschließlich einer eigenen Benutzeroberfläche, sollten Sie alle Benutzeroberflächenautomatisierungsaufrufe in einem separaten Thread ausführen. Dazu gehört das Auffinden von Elementen (z. B. mithilfe der Methode TreeWalker oder FindAll) und das Verwenden von Steuerelementmustern.
Es ist sicher, Benutzeroberflächenautomatisierungs-Aufrufe innerhalb eines Benutzeroberflächenautomatisierungs-Ereignishandlers auszuführen, da der Ereignishandler immer in einem Nicht-UI-Thread aufgerufen wird. Wenn Sie jedoch Ereignisse abonnieren, die möglicherweise von der Benutzeroberfläche Ihrer Clientanwendung stammen, müssen Sie den Aufruf AddAutomationEventHandleroder eine zugehörige Methode in einem Nicht-UI-Thread ausführen. Entfernen Sie Ereignishandler für denselben Thread.