一些驱动程序在启动时加载时使用注册表中写入的参数来配置自己。我可以修改这些值然后重新启动,但我想知道是否可以强制重新加载驱动程序,使更改生效而无需重新启动。
具体来说,我说的是视频驱动程序(nvidia)。
我在某处读到,通过 pINvoke() [User32.ll]::ChangeDisplaySettings() 以 640x480x8bits 分辨率调用(它太低以至于现代驱动程序不应支持)将强制 Windows 加载“标准 VGA驱动程序”,并以当前分辨率再次调用将再次加载 nvidia 驱动程序。
但这不起作用。至少在 Windows 7 中,即使低分辨率不显示为“支持”,系统也会将屏幕缩小到屏幕中心的一个小方块,在不卸载 nvidia 驱动程序的情况下显示低分辨率。
那么,是否有任何 .NET/Win32 API、重新启动服务或任何强制重新加载视频驱动程序的方式?
也许以编程方式禁用设备(就像您可以从设备管理器中执行的那样)并再次重新启用它?
任何想法?
非常感谢。