Skip to content

Making the user account control settings dialog work better with NVDA

Published: 2024-07-14

If you're an NVDA user and have needed to ever change your user account control settings, you've most likely noticed that the slider value doesn't read when you change its value. There has been an issue open against NVDA since at at least 2019 about this, and it has yet to be fixed as of NVDA 2024.2

I spent a half hour or so writing a tiny app module to fix this exact problem. Put this in a file called dllhost.py in your NVDA's scratchpad\appModules folder:

import appModuleHandler
import winUser
import NVDAObjects.window

class AppModule(appModuleHandler.AppModule):
	def isBadUIAWindow(self, hwnd):
		windowClassName = NVDAObjects.window.Window.normalizeWindowClassName(winUser.getClassName(hwnd))
		return windowClassName in ("msctls_trackbar32")

After that, restart NVDA, and go to useraccountcontrolsettings.exe, and all should work!

Drawbacks:

The only currently known drawback with this app module is that it makes object navigation in the user account control settings window not fully work properly. This isn't really an issue for me, but your milage may verry.