Как я могу обнаружить вставку USB без опроса, используя Ruby и WMI? - PullRequest
9 голосов
/ 08 ноября 2011

Я прочитал следующую статью: Использование Ruby & WMI для обнаружения USB-накопителя

Однако этот метод потребовал бы от меня продолжения опроса внутри цикла.Можно ли зарегистрироваться и получить уведомление моего скрипта, когда USB вставлен / извлечен?

Я ищу решение для Windows XP.

1 Ответ

2 голосов
/ 10 ноября 2011

С Ruby я мало чем могу помочь, но WMI также поддерживает отслеживаемые события.Существует внешнее событие с именем Win32_DeviceChangeEvent .

Вот простой код PowerShell для его использования:

$query = "SELECT * FROM   Win32_DeviceChangeEvent WHERE EventType=2"
Register-WMIEvent -Query $query -Action { Write-Host "A device has been inserted"}

Код, указанный в параметре Action, вызывается каждый разустройство вставлено.Я не знаю, чтобы обработать такой запрос в Ruby.

...