强制 Windows 视频驱动程序重新加载。有可能吗?

2023-12-31

某些驱动程序在启动时加载时使用注册表中写入的参数来配置自身。 我可以修改这些值然后重新启动,但我想知道是否可以强制重新加载驱动程序,使更改在不重新启动的情况下生效。

具体来说,我正在谈论视频驱动程序(nvidia)。

我在某处读到,通过 pINvoke() [User32.ll]::ChangeDisplaySettings() 调用 640x480x8 位分辨率(分辨率太低,现代驱动程序不支持)将强制 Windows 加载“标准 VGA” driver”,并使用当前分辨率再次调用将再次加载 nvidia 驱动程序。

但这不起作用。至少在 Windows 7 中,即使低分辨率未显示为“支持”,系统也会将屏幕缩小到屏幕中央的一个小正方形,从而在不卸载 nvidia 驱动程序的情况下显示低分辨率。

那么,是否有任何 .NET/Win32 API、要重新启动的服务或任何方法来强制重新加载视频驱动程序?

也许以编程方式禁用设备(就像您可以从设备管理器中执行的那样)并再次重新启用它?

任何想法?

多谢。


我终于做到了。遵循禁用/重新启用设备的想法实际上是有效的。

当然,问题是从设备管理器禁用视频卡设备并不是一个好主意,因为您可能无法再次重新启用它。

不过,以编程方式执行此操作似乎并不那么不安全。理论上,假设应用程序已成功禁用设备,重新启用它应该不会造成问题。

I found here https://stackoverflow.com/questions/1438371/win32-api-function-to-programatically-enable-disable-device,在 stackoverflow 中极好的类来完成此任务,感谢贾斯汀·格兰特。

当视频设备重新启用时,视频驱动程序会自行重新加载。

希望它能帮助某人。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

强制 Windows 视频驱动程序重新加载。有可能吗? 的相关文章

随机推荐