dotnet / dotnet/wpf

Update UIAutomation with COM

Open
#7,630 2 comments 0 reactions 0 assignees View on GitHub
Enhancement Requested
Dominant language
C#
Stars
7.7k
Forks
1.3k
Avg merge
1d 11h
Merged PRs (30d)
61

Description

Currently, the managed UIAutomationClient uses p/invoke to call many deprecated functions on `uiautomationcore.dll` such as [UiaGetPropertyValue](https://learn.microsoft.com/en-us/windows/win32/api/uiautomationcoreapi/nf-uiautomationcoreapi-uiagetpropertyvalue). Microsoft documentation on these functions recommends to use the COM interface instead such as [IUIAutomationElement.GetCachedPropertyValue](https://learn.microsoft.com/en-us/windows/win32/api/uiautomationclient/nf-uiautomationclient-iuiautomationelement-getcachedpropertyvalue) or [IUIAutomationElement.GetCurrentPropertyValue](https://learn.microsoft.com/en-us/windows/win32/api/uiautomationclient/nf-uiautomationclient-iuiautomationelement-getcurrentpropertyvalue).

When comparing calls between the two, the COM interface returns a lot more information than the DLL functions.

I am interested in trying my hand at a pull request for this. If it is decided that it's not a good fit for the repo, I'll be building an unofficial private version for a project of mine anyway.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.