Przegląd dostawców automatyzacji interfejsu użytkownika

Uwaga

Ta dokumentacja jest przeznaczona dla deweloperów programu .NET Framework, którzy chcą używać zarządzanych klas automatyzacja interfejsu użytkownika zdefiniowanych w System.Windows.Automation przestrzeni nazw. Aby uzyskać najnowsze informacje na temat automatyzacja interfejsu użytkownika, zobacz Interfejs API usługi Windows Automation: automatyzacja interfejsu użytkownika.

automatyzacja interfejsu użytkownika dostawcy umożliwiają sterowanie komunikacją z aplikacjami klienckimi automatyzacja interfejsu użytkownika. Ogólnie rzecz biorąc, każda kontrolka lub inny odrębny element w interfejsie użytkownika jest reprezentowana przez dostawcę. Dostawca udostępnia informacje dotyczące elementu i opcjonalnie implementuje wzorce sterowania, które umożliwiają aplikacji klienckiej interakcję z kontrolką.

Aplikacje klienckie zwykle nie muszą pracować bezpośrednio z dostawcami. Większość standardowych kontrolek w aplikacjach korzystających z platform Win32, Windows Forms lub Windows Presentation Foundation (WPF) jest automatycznie widoczna w systemie automatyzacja interfejsu użytkownika. Aplikacje implementujące kontrolki niestandardowe mogą również implementować dostawców automatyzacja interfejsu użytkownika dla tych kontrolek, a aplikacje klienckie nie muszą wykonywać żadnych specjalnych kroków w celu uzyskania dostępu do nich.

Ten temat zawiera omówienie sposobu implementowania przez deweloperów kontrolek automatyzacja interfejsu użytkownika dostawców, szczególnie w przypadku kontrolek w windows Forms i Win32.

Typy dostawców

automatyzacja interfejsu użytkownika dostawcy należą do dwóch kategorii: dostawców po stronie klienta i dostawców po stronie serwera.

Dostawcy po stronie klienta

Dostawcy po stronie klienta są implementowane przez klientów automatyzacja interfejsu użytkownika do komunikowania się z aplikacją, która nie obsługuje lub nie obsługuje w pełni automatyzacja interfejsu użytkownika. Dostawcy po stronie klienta zwykle komunikują się z serwerem przez granicę procesu, wysyłając i odbierając komunikaty systemu Windows.

Ponieważ automatyzacja interfejsu użytkownika dostawcy kontrolek w aplikacjach Win32, Windows Forms lub WPF są dostarczane w ramach systemu operacyjnego, aplikacje klienckie rzadko muszą implementować własnych dostawców, a to omówienie nie obejmuje ich dalej.

Dostawcy po stronie serwera

Dostawcy po stronie serwera są implementowane przez niestandardowe kontrolki lub aplikacje oparte na strukturze interfejsu użytkownika innej niż Win32, Windows Forms lub WPF.

Dostawcy po stronie serwera komunikują się z aplikacjami klienckimi przez granicę procesu, ujawniając interfejsy automatyzacja interfejsu użytkownika podstawowemu systemowi, który z kolei obsługuje żądania od klientów.

Pojęcia dotyczące dostawcy automatyzacja interfejsu użytkownika

Ta sekcja zawiera krótkie wyjaśnienia niektórych kluczowych pojęć, które należy zrozumieć, aby zaimplementować dostawców automatyzacja interfejsu użytkownika.

Elementy

automatyzacja interfejsu użytkownika elementy to elementy interfejsu użytkownika widoczne dla klientów automatyzacja interfejsu użytkownika. Przykłady obejmują okna aplikacji, okienka, przyciski, etykietki narzędzi, pola listy i elementy listy.

automatyzacja interfejsu użytkownika elementy są widoczne dla klientów jako drzewo automatyzacja interfejsu użytkownika. automatyzacja interfejsu użytkownika tworzy drzewo, przechodząc z jednego elementu do drugiego. Nawigacja jest włączana przez dostawców dla każdego elementu, z których każdy może wskazywać element nadrzędny, równorzędny i podrzędny.

Aby uzyskać więcej informacji na temat widoku klienta drzewa automatyzacja interfejsu użytkownika, zobacz omówienie drzewa automatyzacja interfejsu użytkownika.

Widoki

Klient może zobaczyć drzewo automatyzacja interfejsu użytkownika w trzech widokach głównych, jak pokazano w poniższej tabeli.

Wyświetlanie opis
Widok pierwotny Zawiera wszystkie elementy.
Widok kontrolki Zawiera elementy, które są kontrolkami.
Widok zawartości Zawiera elementy, które mają zawartość.

Aby uzyskać więcej informacji na temat widoków klienta drzewa automatyzacja interfejsu użytkownika, zobacz automatyzacja interfejsu użytkownika Tree Overview (Omówienie drzewa automatyzacja interfejsu użytkownika).

Jest to odpowiedzialność za implementację dostawcy w celu zdefiniowania elementu jako elementu zawartości lub elementu sterującego. Elementy sterujące mogą być również elementami zawartości, ale wszystkie elementy zawartości są elementami sterującymi.

Platformy

Struktura to składnik, który zarządza kontrolkami podrzędnymi, testowaniem trafień i renderowaniem w obszarze ekranu. Na przykład okno Win32, często nazywane HWND, może służyć jako struktura zawierająca wiele automatyzacja interfejsu użytkownika elementów, takich jak pasek menu, pasek stanu i przyciski.

Kontrolki kontenera Win32, takie jak pola listy i widoki drzewa, są uważane za struktury, ponieważ zawierają własny kod do renderowania elementów podrzędnych i przeprowadzania na nich testów trafień. Z kolei pole listy WPF nie jest strukturą, ponieważ renderowanie i testowanie trafień jest obsługiwane przez okno zawierające WPF.

Interfejs użytkownika w aplikacji może składać się z różnych struktur. Na przykład okno aplikacji HWND może zawierać dynamiczny kod HTML (DHTML), który z kolei zawiera składnik, taki jak pole kombi w HWND.

Fragmenty

Fragment jest kompletnym poddrzewem elementów z określonej struktury. Element w węźle głównym poddrzewa jest nazywany katalogiem głównym fragmentu. Katalog główny fragmentu nie ma elementu nadrzędnego, ale jest hostowany w innej strukturze, zwykle w oknie Win32 (HWND).

Hosts

Węzeł główny każdego fragmentu musi być hostowany w elemecie, zwykle w oknie Win32 (HWND). Wyjątkiem jest pulpit, który nie jest hostowany w żadnym innym elemecie. Hostem kontrolki niestandardowej jest HWND samej kontrolki, a nie okna aplikacji ani innego okna, które może zawierać grupy kontrolek najwyższego poziomu.

Host fragmentu odgrywa ważną rolę w dostarczaniu usług automatyzacja interfejsu użytkownika. Umożliwia ona nawigację do katalogu głównego fragmentu i dostarcza niektóre właściwości domyślne, aby dostawca niestandardowy nie musiał ich implementować.

Zobacz też