Hi there,
Some drivers use parameters written in the registry to configure themselves when they get loaded at boot time. I can modify those values and then reboot, but I would like to know if it is possible to force the driver reload, making the changes effective without rebooting.
Specifically, I am talking about the video driver (nvidia).
I read somewhere, that calling through pINvoke() [User32.ll]::ChangeDisplaySettings() with a 640x480x8bits resolution,(which is so low that it should not be supported by a modern driver) will force windows to load the "Standard VGA driver", and making another call with the current resolution will load the nvidia driver again.
This does not work though. At least in Windows 7, even if the low res is not displayed as "supported" the system reduces the screen to a little square in the center of the screen, showing the low res wihtout unloading the nvidia driver.
So, is there any .NET/Win32 API, service to restart, or any way at all to force a video driver reload?
Perhaps programatically disabling the device (as you could do from the Device Manager) and reenabling it again?
Any idea?
Thanks a lot.