代码之家  ›  专栏  ›  技术社区  ›  ajma

正在查找用于检测可移动驱动器(USB闪存)的C代码

  •  5
  • ajma  · 技术社区  · 15 年前

    我在找一个C代码片段,当一个USB驱动器在Windows Vista(或Win7)中插入我的电脑时,它会给我一个通知。

    4 回复  |  直到 13 年前
        1
  •  12
  •   BFree    15 年前

    有个班级叫 DriveDetector 在codeproject,听起来像是做你想要的。

        2
  •  3
  •   Mike Marshall    15 年前

    WM_DEVICECHANGE . 插入驱动器时应发送此消息。

        3
  •  1
  •   Community    7 年前

    我知道这不是你想要的,但是如果你想在任何时候检查哪些设备是可用的,还有另一种方法。您可以在 System.Management namespace 我用过这个方法,效果很好。

    如果你看看 this answer 它演示了如何枚举系统上的所有驱动器。然后,您可以查看驱动器类型,以确定它是否是U盘。

        4
  •  0
  •   x0n    13 年前

    我编写了一个PowerShell模块,该模块使用System.ManagementEventWatcher和WMI类win32_volumeChangedEvent来显示可能在PowerShell中注册的新事件,包括设备删除、添加等。您应该能够从我的博客文章中找到相关的管道:

    http://www.nivot.org/nivot2/post/2008/08/16/AutoMountunmountNewPSDrivesForRemovableDrivesAndNetworkSharesInPowerShellV2.aspx

    您应该能够使用我在上面脚本中使用的方法,在不到10行的C中连接新驱动器的事件。

    希望这有帮助。