Hah - Just as Michael asked AI, I was doing the same thing. I was just about to hit send on this post when his appeared.
Well, to be clear - the code in Toad that Narrator calls is running, I didn't mean to say necessarily that Narrator is calling it. But I just don't know what that is.
I posed the question to ChatGPT, here's what I got. It's AI answer, of course, so take it with a grain of salt (the part about Teams and Zoom seems wrong to me. I have Teams running all day long)
I have a call stack from a delphi application. We have some code in the VirtualTrees.Accessibility.pas unit which is giving an access violation. uiautomationcore.dll is calling oleacc.dll, which is calling some code in VirtualTrees.Accessibility. For me, this code only fires (without an access violation, I might add) when Windows Narrator is running. The weird thing is that the user says that Windows Narrator is not enabled. Which other window feature might cause uiautomationcore.dll to get involved?
Short answer: a lot of Windows accessibility features besides Narrator load uiautomationcore.dll. Narrator is only one client of UI Automation.
The most common culprits in real-world crash reports are these:
1. “Show text cursor indicator” / “Text cursor”
(Settings → Accessibility → Text cursor)
This is enabled surprisingly often, especially on Windows 11.
It hooks UIA globally and queries every focus change, caret move, and control.
Even if Narrator is off, this feature causes:
uiautomationcore.dll → oleacc.dll → your IAccessible / UIA provider
VirtualTrees implements MSAA + UIA bridges, so it gets hit.
2. “Voice Access”
(Settings → Accessibility → Speech → Voice Access)
This is on by default on many OEM installs.
It is a UI Automation client that scans all UI trees.
Users often do not realize it is running because:
- It autostarts
- It shows no obvious UI unless listening
It hits VirtualTrees very aggressively.
3. PowerToys
If installed, these modules use UI Automation:
| PowerToy |
UIA usage |
| FancyZones |
Enumerates window trees |
| PowerToys Run |
UIA for text + accessibility |
| Mouse Utilities |
UIA hooks |
| Screen Ruler |
UIA |
PowerToys is a huge cause of “why is UIAutomation running?”
4. Windows Search / Start Menu
These use UI Automation to:
- Read accessible names
- Inspect list and tree controls
- Query focused elements
When Start Menu or Search is open:
SearchHost.exe
StartMenuExperienceHost.exe
They will hit your accessibility provider.
5. Third-party screen tools
Common offenders:
- Snagit
- Teams
- Zoom
- Citrix
- Any screen reader
- OCR tools
- RPA bots (UiPath, Power Automate)
All use UI Automation.
6. Windows “Live captions”
(Settings → Accessibility → Captions)
This uses UI Automation to read window text.
7. Windows “Focus” features
(Settings → Accessibility → Focus)
These hook UIA to track focused controls.