Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Uwaga / Notatka
Ta dokumentacja jest przeznaczona dla deweloperów programu .NET Framework, którzy chcą używać zarządzanych klas automatyzacji interfejsu użytkownika zdefiniowanych w przestrzeni nazw System.Windows.Automation. Aby uzyskać najnowsze informacje na temat automatyzacji interfejsu użytkownika, zobacz Windows Automation API: Automatyzacja interfejsu użytkownika.
Ze względu na sposób, w jaki automatyzacja interfejsu użytkownika firmy Microsoft korzysta z komunikatów systemu Windows, konflikty mogą wystąpić, gdy aplikacja kliencka próbuje wchodzić w interakcję z własnym interfejsem użytkownika w wątku interfejsu użytkownika. Te konflikty mogą prowadzić do bardzo niskiej wydajności, a nawet spowodować, że aplikacja przestanie odpowiadać.
Jeśli aplikacja kliencka ma na celu interakcję ze wszystkimi elementami na pulpicie, w tym z własnym interfejsem użytkownika, należy wykonać wszystkie wywołania automatyzacji interfejsu użytkownika w osobnym wątku. Obejmuje to lokalizowanie elementów (na przykład przy użyciu TreeWalker metody lub FindAll metody) i używanie wzorców kontrolek.
Bezpieczne jest tworzenie wywołań automatyzacji interfejsu użytkownika w programie obsługi zdarzeń automatyzacji interfejsu użytkownika, ponieważ program obsługi zdarzeń jest zawsze wywoływany w wątku bez interfejsu użytkownika. Jednak w przypadku subskrybowania zdarzeń, które mogą pochodzić z interfejsu użytkownika aplikacji klienckiej, należy wykonać wywołanie AddAutomationEventHandler metody lub powiązanej metody w wątku innym niż wątek interfejsu użytkownika. Usuń programy obsługi zdarzeń w tym samym wątku.