Sdílet prostřednictvím


Přehled automatizace uživatelského rozhraní

Microsoft UI Automation je architektura přístupnosti pro Windows. Poskytuje programový přístup k většině prvků uživatelského rozhraní na ploše. Umožňuje technologiím usnadnění, jako jsou čtečky obrazovky, poskytovat koncovým uživatelům informace o uživatelském rozhraní a manipulovat s uživatelským rozhraním jinými než standardními vstupy. Automatizace uživatelského rozhraní také umožňuje automatizované testovací skripty pracovat s uživatelským rozhraním.

Automatizace uživatelského rozhraní byla poprvé k dispozici v systému Windows XP jako součást rozhraní Microsoft .NET Framework. I když se v té době publikovalo nespravované rozhraní API C++, užitečnost klientských funkcí byla omezená kvůli problémům s interoperabilitou. Pro Windows 7 se rozhraní API přepsala v modelu COM (Component Object Model).

Poznámka

I když jsou funkce knihovny zavedené v dřívější verzi automatizace uživatelského rozhraní stále zdokumentované, neměly by se používat v nových aplikacích.

Klientské aplikace pro automatizaci uživatelského rozhraní je možné psát s jistotou, že budou fungovat na několika architekturách řízení systému Microsoft Windows. Jádro automatizace uživatelského rozhraní maskuje všechny rozdíly v architekturách, které tvoří základ různých částí uživatelského rozhraní. Například vlastnost Content tlačítka Windows Presentation Foundation (WPF), vlastnost Caption tlačítka Microsoft Win32 a vlastnost ALT obrázku HTML jsou všechny mapovány na jednu vlastnost Názevv prostředí automatizace uživatelského rozhraní.

Automatizace uživatelského rozhraní poskytuje úplné funkce v systémech Windows XP, Windows Server 2003 a novějších operačních systémech.

Poskytovatelé automatizace uživatelského rozhraní jsou komponenty, které implementují podporu automatizace uživatelského rozhraní v ovládacích prvcích a nabízejí podporu klientských aplikací Microsoft Active Accessibility prostřednictvím integrované služby přemostění.

Poznámka

Automatizace uživatelského rozhraní neumožňuje komunikaci mezi procesy, které spouští různí uživatelé prostřednictvím příkazu Spustit jako.

Toto téma obsahuje následující části.

Komponenty automatizace uživatelského rozhraní

Automatizace uživatelského rozhraní má čtyři hlavní komponenty, jak je znázorněno v následující tabulce.

Komponenta Popis
Rozhraní API poskytovatele Sada rozhraní COM, která jsou implementována poskytovateli automatizace UI. Zprostředkovatelé automatizace uživatelského rozhraní jsou objekty, které poskytují informace o prvcích uživatelského rozhraní a reagují na programový vstup.
Klientské rozhraní API Sada rozhraní COM, která klientským aplikacím umožňuje získat informace o uživatelském rozhraní a odesílat vstup ovládacím prvkům. Poznámka: Funkce popsané v Zastaralé funkce vzorů ovládacích prvků a Zastaralé funkce uzlu jsou zastaralé. Místo toho by klientské aplikace měly používat rozhraní COM automatizace uživatelského rozhraní popsané v rozhraních elementů automatizace uživatelského rozhraní pro klienty.
UIAutomationCore.dll Knihovna runtime, někdy označovaná jako jádro automatizace uživatelského rozhraní, která zpracovává komunikaci mezi poskytovateli a klienty.
Oleacc.dll Běhová knihovna pro Microsoft Active Accessibility a proxy objekty. Knihovna také poskytuje proxy objekty, které Microsoft Active Accessibility používá pro UI Automation Proxy k podpoře ovládacích prvků Win32.

Existují dva způsoby použití automatizace uživatelského rozhraní: vytvoření podpory vlastních ovládacích prvků pomocí rozhraní API zprostředkovatele a vytvoření klientských aplikací, které používají jádro automatizace uživatelského rozhraní ke komunikaci, a načtení informací o prvcích uživatelského rozhraní. V závislosti na vašem zaměření byste měli odkazovat na různé části dokumentace. Pokud potřebujete vytvořit podporu pro vlastní ovládací prvky, přečtěte si Průvodce programátorem pro zprostředkovatele automatizace uživatelského rozhraní. Pokud potřebujete komunikovat s prvky uživatelského rozhraní nebo načíst informace o prvech uživatelského rozhraní, přečtěte si Průvodce programátorem pro automatizaci uživatelského rozhraní.

Soubory hlaviček automatizace uživatelského rozhraní

Rozhraní API pro automatizaci uživatelského rozhraní je definováno v několika různých souborech hlaviček C/C++, které jsou součástí sady Windows Software Development Kit (SDK). Soubory hlaviček automatizace uživatelského rozhraní jsou popsány v následující tabulce:

Hlavičkový soubor Popis
UIAutomationClient.h Definuje rozhraní a související programovací prvky používané klienty automatizace uživatelského rozhraní.
UIAutomationCore.h Definuje rozhraní a související programovací prvky používané zprostředkovateli automatizace uživatelského rozhraní.
UIAutomationCoreApi.h Definuje obecné konstanty, identifikátory GUID, datové typy a struktury používané klienty a poskytovateli automatizace uživatelského rozhraní. Obsahuje také definice pro zastaralé funkce uzlu a vzoru řízení.
UIAutomation.h Obsahuje všechny ostatní soubory hlaviček automatizace uživatelského rozhraní. Vzhledem k tomu, že většina aplikací automatizace uživatelského rozhraní vyžaduje prvky ze všech souborů hlaviček automatizace uživatelského rozhraní, je nejlepší zahrnout UIAutomation.h do projektů aplikace Automatizace uživatelského rozhraní namísto zahrnutí jednotlivých souborů.

Pokud vyvíjíte aplikaci, která používá rozhraní API pro automatizaci uživatelského rozhraní, měli byste do projektu zahrnout UIAutomation.h. Pokud vaše aplikace podporuje microsoft Active Accessibility, zahrňte soubor záhlaví Oleacc.h. Aplikace automatizace uživatelského rozhraní, které používají identifikátory GUID, také vyžadují soubor hlavičky Initguid.h. V případě potřeby by měl být initguid.h zahrnutý před UIAutomation.h.

Model automatizace uživatelského rozhraní

Automatizace uživatelského rozhraní zveřejňuje všechny prvky uživatelského rozhraní klientským aplikacím jako objekt reprezentovaný rozhraním IUIAutomationElement. Prvky jsou obsaženy ve stromové struktuře s pracovní plochou jako kořenový prvek. Klienti mohou filtrovat zobrazení stromu jako kontrolní zobrazení nebo obsahové zobrazení. Tato standardní zobrazení struktury lze snadno zobrazit pomocí aplikace Inspect, která je součástí sady Windows SDK. Aplikace můžou také vytvářet vlastní zobrazení.

Prvek automatizace uživatelského rozhraní zveřejňuje vlastnosti ovládacího prvku nebo prvku uživatelského rozhraní, který představuje. Jednou z těchto vlastností je typ ovládacího prvku, který definuje základní vzhled a funkčnost ovládacího prvku nebo prvku uživatelského rozhraní jako jednu rozpoznatelnou entitu, například tlačítko nebo zaškrtávací políčko. Další informace o typech ovládacích prvků najdete v tématu Přehled typů ovládacích prvků automatizace uživatelského rozhraní.

Kromě toho prvek automatizace uživatelského rozhraní zveřejňuje jeden nebo více vzorů ovládacích prvků. Vzor ovládacího prvku poskytuje sadu vlastností specifických pro určitý typ ovládacího prvku. Řídicí vzor také zveřejňuje metody, které klientským aplikacím umožňují získat další informace o prvku a poskytnout vstup prvku. Další informace o vzorech ovládacích prvků naleznete v tématu Přehled vzorů ovládacích prvků automatizace uživatelského rozhraní.

Poznámka

Mezi typy ovládacích prvků a vzory ovládacích prvků neexistuje žádná korespondence 1:1. Řídicí vzor může být podporován více typy ovládacích prvků a ovládací prvek může podporovat více řídicích vzorů, z nichž každá zveřejňuje různé aspekty jeho chování. Kombinovaný seznam má například minimálně dva vzory ovládacích prvků: jeden, který představuje schopnost rozbalit a sbalit, a druhý, který představuje mechanismus výběru. Ovládací prvek však může vykazovat pouze jeden typ ovládacího prvku.

Automatizace uživatelského rozhraní poskytuje klientským aplikacím informace prostřednictvím událostí. Na rozdíl od WinEvents nejsou události automatizace uživatelského rozhraní založené na principu všesměrového vysílání. Klienti automatizace uživatelského rozhraní se registrují pro konkrétní oznámení událostí a mohou požádat o předání konkrétních vlastností a informací o řídicím vzoru jejich obslužným rutinám událostí. Kromě toho událost automatizace uživatelského rozhraní obsahuje odkaz na prvek, který ho vyvolal. Poskytovatelé můžou zvýšit výkon selektivním vyvoláním událostí v závislosti na tom, jestli některý klient naslouchá. Další informace o událostech naleznete v tématu Přehled událostí automatizace uživatelského rozhraní.

koncepční

Přehled typů ovládacích prvků automatizace uživatelského rozhraní

Přehled vzorů ovládacích prvků automatizace uživatelského rozhraní

Přehled událostí automatizace uživatelského rozhraní