问题
Our application includes a screen capture capability. Some applications use overlay surfaces to display video so we included an option to disable hardware acceleration in order to force those applications into software rendering mode so that we can screen cap them. This worked fine under Windows XP.
However, under Windows 7 it appears, from my research, that very few display drivers support the ability to disable hardware acceleration since the DWM uses DirectX9 rendering. On those sysetms the Display Settings->Advanced Settings->Troubleshoot->Change Settings... button is disabled. But I have heard reports that on some systems that button is enabled.
So, my question is what API (or heuristic) is the windows control panel using to enable/disable the "Change settings..." button so that I can enable/disable a similar control in our application?
来源:https://stackoverflow.com/questions/11834371/windows-programatically-determine-if-hardware-acceleration-can-be-disabled