Additionally, I can't run HDDScan.exe anymore. It launches, and stops before it ever creates a window. No CPU usage, only a fraction of a second into its run-time.
There's only one thread, and here's the stack trace as well as can be determined without symbol information:
ntoskrnl.exe!KeWaitForMultipleObjects+0xc0a
ntoskrnl.exe!KeAcquireSpinLockAtDpcLevel+0x732
ntoskrnl.exe!KeWaitForMutexObject+0x19f
win32k.sys!memset+0x7a27
win32k.sys!memset+0x7ac1
win32k.sys!EngFntCacheLookUp+0x1718b
win32k.sys!memset+0x6b02
win32k.sys!XLATEOBJ_iXlate+0xddaf
win32k.sys!XLATEOBJ_iXlate+0xff03
win32k.sys!XLATEOBJ_iXlate+0xfd32
win32k.sys!W32pArgumentTable+0x306bf
win32k.sys!W32pArgumentTable+0x30b1f
win32k.sys!W32pArgumentTable+0x30f92
win32k.sys!W32pArgumentTable+0x314d3
win32k.sys!EngRestoreFloatingPointState+0x730f
win32k.sys!EngRestoreFloatingPointState+0x4ae5
ntoskrnl.exe!KeSynchronizeExecution+0x3a23
wow64win.dll+0x401fa
wow64win.dll+0x1ce36
wow64.dll!Wow64SystemServiceEx+0xd7
wow64cpu.dll!TurboDispatchJumpAddressEnd+0x2d
wow64.dll!Wow64SystemServiceEx+0x1ce
wow64.dll!Wow64LdrpInitialize+0x42b
ntdll.dll!RtlUniform+0x6e6
ntdll.dll!RtlCreateTagHeap+0xa7
ntdll.dll!LdrInitializeThunk+0xe
USER32.dll!LoadCursorW+0x39
uxtheme.dll!GetThemeBool+0x84e
uxtheme.dll!GetThemeBool+0x8c0
USER32.dll!SystemParametersInfoW+0x40
HDDScan.exe+0x2235da
HDDScan.exe+0x2ef950
HDDScan.exe+0x10b3ff
HDDScan.exe+0x10b03b
HDDScan.exe+0x10b010
HDDScan.exe+0x1158cd
HDDScan.exe+0x30f711
kernel32.dll!BaseThreadInitThunk+0x12
ntdll.dll!RtlInitializeExceptionChain+0x63
ntdll.dll!RtlInitializeExceptionChain+0x36
HDDScan.exe seems to have called SystemParametersInfo which eventually waits on a Mutex.
See
this post. Perhaps the crashed program left some phantom window somewhere (?) or left another app in a funny state trying to respond to your previous process. But, I don't think you would be changing a setting... Maybe you were looking up which font to use for some UI element? I don't know why that would be stuck, when other programs have no trouble starting up.