2

Можно ли автоматизировать смену драйвера для того же периферийного устройства под Windows? Как правило, для переключения между двумя. (Я говорю о типе драйвера, который обычно не требует перезагрузки компьютера).

У меня есть периферийное устройство, для которого я использую драйвер конструктора в некоторых случаях, но также модифицированный драйвер в других случаях. Не то, чтобы изменение драйвера действительно раздражало, но я хотел бы знать, возможно ли сделать это проще, как, например, в ярлыке. Я знаю имя драйвера, даже какие файлы задействованы.

Для более подробной информации, речь идет о "геймпаде Xbox360 для Windows" (или что-то в этом роде). Базовый драйвер хорош для новых игр, но он неправильно обрабатывает старые (некоторые проблемы с осями и вибрациями). Модифицированный драйвер заставляет его вести себя как классический контроллер, но в новых играх он работает некорректно (как правило, с использованием новой версии dxinput, связанной с "Играми для Windows"). Тем не менее, это не вопрос, специфичный для этого геймпада, я задаю вопрос об автоматизации смены драйверов.

В настоящее время я использую Windows XP, поэтому мой вопрос в основном об этом, но меня также интересует та же проблема для более поздних версий (Windows 7, скорее всего).

Я не совсем уверен, возможно ли это, но если у кого-то есть идея, я спрашиваю.


Изменить: После того, как я задал этот вопрос, я не был в состоянии дать ему время снова, например, чтобы попробовать то, что предложил harrymc (и теперь шарлатанство). Поэтому я прошу прощения за отсутствие обратной связи, но я исправлю это позже.

3 ответа3

1

См. Утилиту Driver Loader по адресу http://www.osronline.com/article.cfm?article=157.
Это может решить вашу проблему.

1

Интересный вопрос. К сожалению, это не полный ответ, поскольку я несколько лет не занимался разработкой драйверов для Windows. Надеюсь, это поможет вам встать на правильный путь.

Быстрый поиск нашел эту тему на OSRonline. Он старый, но довольно прямой:

Вы можете использовать диспетчер устройств и отключить устройство для выгрузки, а также включить возможность перезагрузки, как было сказано другими здесь. Кстати, драйвер будет выгружен, только если каждый экземпляр устройства отключен.

Также вы можете отключить / включить программно. Посмотрите на пример devcon в последнем DDK, чтобы увидеть, как это делается. Фактически, пример devcon - это, по сути, диспетчер устройств командной строки с источником, в котором содержится множество полезной информации.

Если вам удастся найти утилиту devcon (кажется, что она доступна в этой статье базы знаний ; я не уверен, что она по-прежнему доступна в текущем Windows DDK), вы можете запустить пакетный скрипт, чтобы отключить устройства PnP и драйверы подкачки. Такой сценарий может потребоваться загрузить в реестре, чтобы поменять драйверы, но devcon должен позволить сценарию выполнить отключение / включение.

0

правильным способом был бы другой аппаратный профиль, но это не совсем о «удобстве» :)

Я использую этот метод для экспериментов с различными драйверами или конфигурациями служб, но, конечно, переключение профилей требует перезагрузки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .