{"id":205117,"date":"2017-02-05T14:01:57","date_gmt":"2017-02-05T19:01:57","guid":{"rendered":"http:\/\/www.euvolution.com\/futurist-transhuman-news-blog\/uncategorized\/ui-automation-overview-msdn-microsoft-com.php"},"modified":"2017-02-05T14:01:57","modified_gmt":"2017-02-05T19:01:57","slug":"ui-automation-overview-msdn-microsoft-com","status":"publish","type":"post","link":"https:\/\/www.euvolution.com\/futurist-transhuman-news-blog\/automation\/ui-automation-overview-msdn-microsoft-com.php","title":{"rendered":"UI Automation Overview &#8211; msdn.microsoft.com"},"content":{"rendered":"<p><p>    This documentation is archived and is not being maintained.  <\/p>\n<p>          .NET Framework (current version)        <\/p>\n<\/p>\n<p>              Microsoft UI Automation is the new accessibility              framework for Microsoft Windows, available on all              operating systems that support Windows Presentation              Foundation (WPF).            <\/p>\n<p>              UI Automation provides programmatic access to most              user interface (UI) elements on the desktop, enabling              assistive technology products such as screen readers              to provide information about the UI to end users and              to manipulate the UI by means other than standard              input. UI Automation also allows automated test              scripts to interact with the UI.            <\/p>\n<p>                      UI Automation does not enable communication                      between processes started by different users                      through the Run as command.                    <\/p>\n<p>              UI Automation client applications can be written with              the assurance that they will work on multiple              frameworks. The UI Automation core masks any              differences in the frameworks that underlie various              pieces of UI. For example, the              Content property of a WPF button,              the Caption property of a Win32              button, and the ALT property of an              HTML image are all mapped to a single property,                            Name, in the UI Automation              view.            <\/p>\n<p>              UI Automation provides full functionality in Windows              Vista, Microsoft Windows XP, and Windows Server 2003.            <\/p>\n<p>              UI Automation providers offer some support for              Microsoft Active Accessibility client applications,              through a built-in bridging service.            <\/p>\n<p>                  UI Automation has four main components, as shown                  in the following table.                <\/p>\n<p>                        Component                      <\/p>\n<p>                        Description                      <\/p>\n<p>                        Provider API(UIAutomationProvider.dll                        and UIAutomationTypes.dll)                      <\/p>\n<p>                        A set of interface definitions that are                        implemented by UI Automation providers,                        objects that provide information about UI                        elements and respond to programmatic input.                      <\/p>\n<p>                        Client API (UIAutomationClient.dll and                        UIAutomationTypes.dll)                      <\/p>\n<p>                        A set of types for managed code that                        enables UI Automation client applications                        to obtain information about the UI and to                        send input to controls.                      <\/p>\n<p>                        UiAutomationCore.dll                      <\/p>\n<p>                        The underlying code (sometimes called the                        UI Automation core) that handles                        communication between providers and                        clients.                      <\/p>\n<p>                        UIAutomationClientsideProviders.dll                      <\/p>\n<p>                        A set of UI Automation providers for                        standard legacy controls. (WPF controls                        have native support for UI Automation.)                        This support is automatically available to                        client applications.                      <\/p>\n<p>                  From the software developer's perspective, there                  are two ways of using UI Automation: to create                  support for custom controls (using the provider                  API), and creating applications that use the UI                  Automation core to communicate with UI elements                  (using the client API). Depending on your focus,                  you should refer to different parts of the                  documentation. You can learn more about the                  concepts and gain practical how-to knowledge in                  the following sections.                <\/p>\n<p>                  The following table lists UI Automation                  namespaces, the DLLs that contain them, and the                  audience that uses them.                <\/p>\n<p>                  UI Automation exposes every piece of the UI to                  client applications as an                   AutomationElement. Elements are contained in                  a tree structure, with the desktop as the root                  element. Clients can filter the raw view of the                  tree as a control view or a content                  view.Applications can also create custom                  views.                <\/p>\n<p>                                    AutomationElement objects expose common                  properties of the UI elements they represent. One                  of these properties is the control type, which                  defines its basic appearance and functionality as                  a single recognizable entity: for example, a                  button or check box.                <\/p>\n<p>                  In addition, elements expose control patterns                  that provide properties specific to their control                  types. Control patterns also expose methods that                  enable clients to get further information about                  the element and to provide input.                <\/p>\n<p>                          There is not a one-to-one correspondence                          between control types and control                          patterns. A control pattern may be                          supported by multiple control types, and                          a control may support multiple control                          patterns, each of which exposes different                          aspects of its behavior. For example, a                          combo box has at least two control                          patterns: one that represents its ability                          to expand and collapse, and another that                          represents the selection mechanism. For                          specifics, see                           UI Automation Control Types.                        <\/p>\n<p>                  UI Automation also provides information to client                  applications through events. Unlike WinEvents, UI                  Automation events are not based on a broadcast                  mechanism. UI Automation clients register for                  specific event notifications and can request that                  specific UI Automation properties and control                  pattern information be passed into their event                  handlers. In addition, aUI Automation event                  contains a reference to the element that raised                  it.Providers can improve performance by                  raising events selectively, depending on whether                  any clients are listening.                <\/p>\n<p><!-- Auto Generated --><\/p>\n<p>See more here:<\/p>\n<p><a target=\"_blank\" rel=\"nofollow\" href=\"https:\/\/msdn.microsoft.com\/en-us\/library\/ms747327(v=vs.110).aspx\" title=\"UI Automation Overview - msdn.microsoft.com\">UI Automation Overview - msdn.microsoft.com<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p> This documentation is archived and is not being maintained.  <a href=\"https:\/\/www.euvolution.com\/futurist-transhuman-news-blog\/automation\/ui-automation-overview-msdn-microsoft-com.php\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"limit_modified_date":"","last_modified_date":"","_lmt_disableupdate":"","_lmt_disable":"","footnotes":""},"categories":[431581],"tags":[],"class_list":["post-205117","post","type-post","status-publish","format-standard","hentry","category-automation"],"modified_by":null,"_links":{"self":[{"href":"https:\/\/www.euvolution.com\/futurist-transhuman-news-blog\/wp-json\/wp\/v2\/posts\/205117"}],"collection":[{"href":"https:\/\/www.euvolution.com\/futurist-transhuman-news-blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.euvolution.com\/futurist-transhuman-news-blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.euvolution.com\/futurist-transhuman-news-blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.euvolution.com\/futurist-transhuman-news-blog\/wp-json\/wp\/v2\/comments?post=205117"}],"version-history":[{"count":0,"href":"https:\/\/www.euvolution.com\/futurist-transhuman-news-blog\/wp-json\/wp\/v2\/posts\/205117\/revisions"}],"wp:attachment":[{"href":"https:\/\/www.euvolution.com\/futurist-transhuman-news-blog\/wp-json\/wp\/v2\/media?parent=205117"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.euvolution.com\/futurist-transhuman-news-blog\/wp-json\/wp\/v2\/categories?post=205117"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.euvolution.com\/futurist-transhuman-news-blog\/wp-json\/wp\/v2\/tags?post=205117"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}