Программно перезагрузить USB-устройство в Windows - PullRequest
5 голосов
/ 30 июня 2010

Некоторое программное обеспечение, которое я разрабатываю, требует наличия устройства USB (с которым я взаимодействую как SerialPort, с мостом USB-к-UART).

Иногда после перезагрузки компьютера из режима гибернации устройство не обнаруживается, и я больше не могу записывать или считывать данные с устройства через его последовательный порт. Для чтения / записи необходим доступ к устройству.

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

Как мне подойти к программному перезапуску USB-устройства в Windows XP / Vista / 7 с использованием .NET framework?

1 Ответ

5 голосов
/ 30 июня 2010

Вы можете использовать WDK (комплект драйверов Windows).Предоставлено множество примеров исходного кода, но ожидайте крутой кривой обучения.

Devcon - это программа, разработанная MS для демонстрационных целей, которая иногда работает и делает то, что вы хотите,Но имейте в виду, что это странно и дико.В любом случае, исходный код предоставлен, поэтому, если вам нравится связываться с драйверами устройств, вы можете свернуть свой собственный код "Devcon".

С сайта MS:

DevCon (Devcon.exe), the Device Console, is a command-line tool that displays detailed information about devices. Using DevCon, you can search for and manipulate devices from the command line. DevCon enables, disables, installs, configures, and removes devices on the local computer and displays detailed information about devices on local and remote computers.

HTH!

...