【问题标题】:How could I detect USB insertion without polling using Ruby and WMI?如何在不使用 Ruby 和 WMI 轮询的情况下检测 USB 插入?
【发布时间】:2011-11-08 19:14:50
【问题描述】:

我阅读了以下文章:Using Ruby & WMI to Detect a USB Drive

但是,这种方法需要我在循环中保持轮询。是否可以注册并在插入/弹出 USB 时通知我的脚本?

我正在寻找 Windows XP 解决方案。

【问题讨论】:

    标签: ruby windows-xp wmi


    【解决方案1】:

    我对 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 中处理这样的查询。

    【讨论】:

    • 是的,Tempus 在他们的评论中列出了“使用 Ruby 和 WMI 检测 USB 驱动器”。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-11-10
    • 1970-01-01
    • 2012-05-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多