Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
Замечание
Эта документация предназначена для разработчиков .NET Framework, которые хотят использовать управляемые классы автоматизации пользовательского интерфейса, определенные в пространстве имен System.Windows.Automation. Последние сведения об автоматизации пользовательского интерфейса см. в разделе API автоматизации Windows: автоматизация пользовательского интерфейса.
Из-за того, как служба автоматизации пользовательского интерфейса Майкрософт использует сообщения Windows, конфликты могут возникать, когда клиентское приложение пытается взаимодействовать с собственным пользовательским интерфейсом в потоке пользовательского интерфейса. Эти конфликты могут привести к очень медленной производительности или даже привести к тому, что приложение перестанет отвечать.
Если клиентское приложение предназначено для взаимодействия со всеми элементами на рабочем столе, включая собственный пользовательский интерфейс, необходимо выполнить все вызовы автоматизации пользовательского интерфейса в отдельном потоке. Это включает поиск элементов (например, с помощью TreeWalker или методом FindAll ) и использование шаблонов элементов управления.
Безопасно выполнять вызовы UI Automation в обработчике событий автоматизации пользовательского интерфейса, так как обработчик событий всегда вызывается в потоке, отличном от UI-потока. Однако, подписываясь на события, которые могут исходить из пользовательского интерфейса клиентского приложения, вызов метода AddAutomationEventHandler или аналогичного метода необходимо выполнить в потоке, не связанном с пользовательским интерфейсом. Удалите обработчики событий в том же потоке.