Некоторое программное обеспечение, которое я разрабатываю, требует присутствия USB-устройства (с которым я взаимодействую как SerialPort с мостом USB К UART).
Иногда, после того, как компьютер перезапускается от спящего режима, устройство не обнаруживается, и я больше не могу писать в или читать из, устройство через его последовательный порт. Наличие доступа для чтения-записи к устройству необходимо.
Я не могу полагаться на пользователя для принятия любых мер (физический или иначе), таким образом, мне нужен способ перезапустить устройство программно.
Как я должен приблизиться к перезапуску USB-устройства программно в Windows XP/vista/7 с помощью платформы.NET?
Вы можете использовать WDK (комплект драйверов Windows). Предоставлено множество примеров исходного кода, но вы ожидаете крутого обучения.
Devcon - это программа, разработанная MS для демонстрации того, что иногда работает и делает то, что вы хотите. Но имейте в виду, что это странно и дико. В любом случае, исходный код предоставляется, поэтому, если вам нравится возиться с драйверами устройств, вы можете использовать свой собственный код «Devcon».
С сайта MS:
DevCon (Devcon.exe), консоль устройства, представляет собой инструмент командной строки, отображающий
подробная информация об устройствах. Используя DevCon, вы можете искать и
управлять устройствами из командной строки. DevCon включает, отключает, устанавливает,
настраивает и удаляет устройства на локальном компьютере и отображает подробные
информация об устройствах на локальных и удаленных компьютерах.
HTH!