Udostępnij za pośrednictwem


Omówienie automatyzacji interfejsu użytkownika

Microsoft UI Automation to struktura ułatwień dostępu dla systemu Windows. Zapewnia dostęp programowy do większości elementów interfejsu użytkownika na pulpicie. Umożliwia to korzystanie z produktów technologii pomocniczych, takich jak czytniki zawartości ekranu, w celu udostępnienia użytkownikom końcowym informacji o interfejsie użytkownika i manipulowaniu interfejsem użytkownika za pomocą innych niż standardowe dane wejściowe. Automatyzacja interfejsu użytkownika umożliwia również skryptom testowym automatyczne wchodzenie w interakcję z interfejsem użytkownika.

Automatyzacja interfejsu użytkownika była po raz pierwszy dostępna w systemie Windows XP w ramach programu Microsoft .NET Framework. Chociaż w tym czasie opublikowano również niezarządzany interfejs API języka C++, użyteczność funkcji klienta była ograniczona z powodu problemów z współdziałaniem. W systemie Windows 7 interfejs API został przepisany w modelu obiektów składników (COM).

Notatka

Chociaż funkcje biblioteki wprowadzone we wcześniejszej wersji automatyzacji interfejsu użytkownika są nadal udokumentowane, nie powinny być używane w nowych aplikacjach.

Aplikacje klienckie automatyzacji interfejsu użytkownika można napisać z zapewnieniem, że będą one działać w wielu strukturach kontroli systemu Microsoft Windows. Podstawowe funkcje automatyzacji interfejsu użytkownika maskują wszelkie różnice w strukturach, które są podstawą różnych fragmentów interfejsu użytkownika. Na przykład właściwość Content przycisku Windows Presentation Foundation (WPF), właściwość Caption przycisku Microsoft Win32, a właściwość ALT obrazu HTML są mapowane na jedną właściwość, Namew widoku automatyzacji interfejsu użytkownika.

Automatyzacja interfejsu użytkownika zapewnia pełną funkcjonalność w systemach operacyjnych Windows XP, Windows Server 2003 i nowszych.

Dostawcy automatyzacji interfejsu użytkownika to składniki, które implementują obsługę automatyzacji interfejsu użytkownika w kontrolkach i oferują obsługę aplikacji klienckich Microsoft Active Accessibility za pośrednictwem wbudowanej usługi mostkowania.

Notatka

Automatyzacja interfejsu użytkownika nie umożliwia komunikacji między procesami uruchamianymi przez różnych użytkowników za pomocą polecenia Uruchom jako.

Ten temat zawiera następujące sekcje.

Składniki automatyzacji interfejsu użytkownika

Automatyzacja interfejsu użytkownika ma cztery główne składniki, jak pokazano w poniższej tabeli.

Składnik Opis
Interfejs API dostawcy Zestaw interfejsów COM implementowanych przez dostawców automatyzacji interfejsu użytkownika. Dostawcy automatyzacji interfejsu użytkownika to obiekty, które udostępniają informacje o elementach interfejsu użytkownika i reagują na dane wejściowe programowe.
Interfejs API klienta Zestaw interfejsów COM, które umożliwiają aplikacjom klienckim uzyskiwanie informacji o interfejsie użytkownika i wysyłanie danych wejściowych do kontrolek. Uwaga: Funkcje opisane w przestarzałych funkcji wzorca sterowania i przestarzałych funkcje węzłów są przestarzałe. Zamiast tego aplikacje klienckie powinny korzystać z interfejsów COM automatyzacji interfejsu użytkownika, które są opisane w Interfejsy Elementów Automatyzacji Interfejsu Użytkownika dla Klientów.
UIAutomationCore.dll Biblioteka uruchomieniowa, czasami nazywana rdzeniem automatyzacji interfejsu użytkownika, która obsługuje komunikację między dostawcami a klientami.
Oleacc.dll Biblioteka czasu wykonywania dla funkcji Microsoft Active Accessibility i obiektów serwera proxy. Biblioteka udostępnia również obiekty serwera proxy używane przez Microsoft Active Accessibility i UI Automation Proxy do obsługi kontrolek Win32.

Istnieją dwa sposoby korzystania z automatyzacji interfejsu użytkownika: tworzenie obsługi kontrolek niestandardowych przy użyciu interfejsu API dostawcy oraz tworzenie aplikacji klienckich korzystających z rdzenia automatyzacji interfejsu użytkownika do komunikowania się i pobierania informacji o elementach interfejsu użytkownika. W zależności od fokusu należy zapoznać się z różnymi częściami dokumentacji. Jeśli musisz utworzyć obsługę niestandardowych kontrolek, zobacz Przewodnik programisty dostawcy automatyzacji interfejsu użytkownika. Jeśli musisz komunikować się z elementami interfejsu użytkownika lub pobierać informacje o nich, zobacz przewodnik programisty klienta automatyzacji interfejsu użytkownika.

Pliki nagłówków automatyzacji interfejsu użytkownika

Interfejs API automatyzacji UI jest zdefiniowany w kilku różnych plikach nagłówkowych C/C++, które są dołączone do pakietu Windows SDK. Pliki nagłówka automatyzacji interfejsu użytkownika zostały opisane w poniższej tabeli:

Plik nagłówka Opis
UIAutomationClient.h Definiuje interfejsy i powiązane elementy programowania używane przez klientów automatyzacji interfejsu użytkownika.
UIAutomationCore.h Definiuje interfejsy i powiązane elementy programowania używane przez dostawców automatyzacji interfejsu użytkownika.
UIAutomationCoreApi.h Definiuje ogólne stałe, identyfikatory GUID, typy danych i struktury używane przez klientów i dostawców automatyzacji interfejsu użytkownika. Zawiera również definicje przestarzałych funkcji węzła i wzorca sterowania.
UIAutomation.h Zawiera wszystkie pozostałe pliki nagłówkowe automatyzacji interfejsu użytkownika (UI Automation). Ponieważ większość aplikacji automatyzacji interfejsu użytkownika wymaga elementów ze wszystkich plików nagłówków automatyzacji interfejsu użytkownika, najlepiej uwzględnić element UIAutomation.h w projektach aplikacji automatyzacji interfejsu użytkownika zamiast uwzględniać każdy plik osobno.

Jeśli tworzysz aplikację korzystającą z API Automatyzacji UI, powinieneś uwzględnić w projekcie element UIAutomation.h. Jeśli aplikacja obsługuje ułatwienia dostępu Microsoft Active, dołącz plik nagłówka Oleacc.h. Aplikacje automatyzacji interfejsu użytkownika korzystające z identyfikatorów GUID również wymagają pliku nagłówka Initguid.h. W razie potrzeby należy dołączyć plik Initguid.h przed elementem UIAutomation.h.

Model automatyzacji interfejsu użytkownika

Automatyzacja interfejsu użytkownika uwidacznia każdy element interfejsu użytkownika aplikacjom klienckim jako obiekt reprezentowany przez interfejs IUIAutomationElement. Elementy znajdują się w strukturze drzewa z pulpitem jako elementem głównym. Klienci mogą filtrować surowy widok drzewa jako widok kontrolny lub widok zawartości. Te standardowe widoki struktury można łatwo zobaczyć przy użyciu aplikacji Inspect dołączonej do zestawu Windows SDK. Aplikacje mogą również tworzyć widoki niestandardowe.

Element automatyzacji interfejsu użytkownika uwidacznia właściwości kontrolki lub elementu interfejsu użytkownika, który reprezentuje. Jedną z tych właściwości jest typ kontrolki, który definiuje podstawowy wygląd i funkcjonalność kontrolki lub elementu interfejsu użytkownika jako pojedynczą rozpoznawalną jednostkę, na przykład przycisk lub pole wyboru. Aby uzyskać więcej informacji na temat typów kontrolek, zobacz Typy kontrolek automatyzacji interfejsu użytkownika — omówienie.

Ponadto element automatyzacji interfejsu użytkownika uwidacznia co najmniej jeden wzorzec kontrolki. Wzorzec kontrolki zawiera zestaw właściwości specyficznych dla określonego typu kontrolki. Wzorzec kontrolki uwidacznia również metody, które umożliwiają aplikacjom klienckim uzyskanie dodatkowych informacji na temat elementu i podanie danych wejściowych do elementu. Aby uzyskać więcej informacji na temat wzorców elementów sterujących, zajrzyj do Omówienie wzorców automatyzacji interfejsu użytkownika.

Notatka

Nie istnieje żadna korespondencja typu "jeden do jednego" między typami kontrolek a wzorcami kontrolek. Wzorzec kontrolki może być obsługiwany przez wiele typów kontrolek, a kontrolka może obsługiwać wiele wzorców kontrolek, z których każdy uwidacznia różne aspekty jego zachowania. Na przykład pole kombi ma co najmniej dwa wzorce kontrolek: jeden, który reprezentuje jego zdolność do rozwijania i zwijania, a drugi, który reprezentuje mechanizm wyboru. Jednak kontrolka może mieć tylko jeden typ sterowania.

Automatyzacja interfejsu użytkownika udostępnia informacje dla aplikacji klienckich za pośrednictwem zdarzeń. W przeciwieństwie do rozwiązania WinEvents zdarzenia automatyzacji interfejsu użytkownika nie są oparte na mechanizmie emisji. Klienci automatyzacji interfejsu użytkownika rejestrują się pod kątem określonych powiadomień o zdarzeniach i mogą zażądać przekazania określonych właściwości i informacji o wzorcu sterowania do ich programów obsługi zdarzeń. Ponadto zdarzenie automatyzacji interfejsu użytkownika zawiera odwołanie do elementu, który je wywołał. Dostawcy mogą poprawić wydajność, wyzwalając sygnały selektywnie, w zależności od tego, czy nasłuchują jacyś klienci. Aby uzyskać więcej informacji na temat zdarzeń, zobacz Omówienie zdarzeń automatyzacji interfejsu użytkownika.

Koncepcyjne

typy kontrolek automatyzacji interfejsu użytkownika — omówienie

Omówienie wzorców kontrolek automatyzacji interfejsu użytkownika

Omówienie zdarzeń automatyzacji interfejsu użytkownika