是否有可能在 Windows 上自动更改即插即用外围设备的驱动程序?

是否有可能在 Windows 上自动更改即插即用外围设备的驱动程序?

在 Windows 下,是否可以自动更改同一外围设备的驱动程序?通常在两个之间切换。(我说的是通常不需要重新启动计算机的驱动程序)。

我有一个外设,在某些情况下我使用构造函数的驱动程序,但在其他情况下也使用修改后的驱动程序。并不是说更换驱动程序真的很烦人,但我想知道是否可以让它更容易,例如在快捷方式中。我知道驱动程序的名称,甚至知道涉及哪些文件。

有关更多详细信息,相关外围设备是“适用于 Windows 的 Xbox360 游戏手柄”(或类似的东西)。基本驱动程序适用于新游戏,但无法正确处理旧游戏(轴和振动方面存在一些问题)。修改后的驱动程序使其表现得像经典控制器,但它无法在新游戏上正常工作(通常使用链接到“适用于 Windows 的游戏”的新版本 dxinput)。但是,这不是针对此游戏手柄的特定问题,我一般询问如何自动更改驱动程序。

我目前使用的是 Windows XP,所以我的问题主要与它有关,但我对后续版本(最有可能是 Windows 7)的相同问题也感兴趣。

我不太确定这是否可能,但如果有人有想法,我会问。


编辑:自从问了这个问题之后,我还没有真正有时间再去尝试一下,比如尝试一下 harrymc 建议的方法(现在是 quack)。所以我对到目前为止没有得到反馈表示歉意,但我会在以后的某一天纠正这个问题。

答案1

请参阅驱动程序加载实用程序http://www.osronline.com/article.cfm?article=157
这也许能解决你的问题。

答案2

有趣的问题。遗憾的是,这不是一个完整的答案,因为我已经离开 Windows 驱动程序开发几年了。希望它能帮助您走上正确的道路。

快速搜索发现此主题在 OSRonline 上。它很老了,但相当直接:

您可以使用设备管理器并禁用设备卸载,然后启用重新加载,正如其他人在此处所述。顺便说一句,只有禁用设备的每个实例后,驱动程序才会卸载。

此外,您还可以通过编程方式禁用/启用。查看最新 DDK 中的 devcon 示例,了解如何执行此操作。事实上,devcon 示例本质上是一个带源代码的命令行设备管理器,其中包含大量有用的信息。

如果你能找到开发者大会公用事业(似乎在那篇知识库文章中可用;我不确定它是否仍然在当前的 Windows DDK 中可用)您可能能够编写一个批处理脚本来禁用您的 PnP 设备并交换驱动程序。这样的脚本可能需要加载注册表更改才能交换驱动程序,但开发者大会应该允许脚本执行禁用/启用。

答案3

正确的方法是另一个硬件配置文件,但这并不是真正的“便利”:)

我正在使用此方法来尝试不同的驱动程序或服务配置,但切换配置文件当然需要重新启动。

相关内容