Update UIAutomation with COM
- 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
Assessment
This issue has not been assessed yet.