Force windows video driver reload. Is it possible at all?

Posted by somemorebytes on Stack Overflow See other posts from Stack Overflow or by somemorebytes
Published on 2010-03-23T13:55:25Z Indexed on 2010/03/23 18:33 UTC
Read the original article Hit count: 256

Filed under:
|
|
|
|

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.

© Stack Overflow or respective owner

Related posts about Windows

Related posts about driver