【问题标题】:How do I get notified in my qt application about USB drive plugged in to the system如何在我的 qt 应用程序中收到有关 USB 驱动器插入系统的通知
【发布时间】:2013-07-26 20:52:00
【问题描述】:

我正在 Ubuntu 10.04 上的 Qt 4.6/4.7 中编写一个应用程序,其中我需要在 USB 驱动器连接到系统的那一刻复制一些文件。应用程序在运行时应该能够检测到插入了笔式驱动器,并且无需用户干预,应该查看 USB 驱动器中的特定文件并将其复制到本地驱动器。每次插入新的笔式驱动器时都会发生这种情况。有什么简单的方法可以使用吗?请建议。

提前致谢

马赫什

【问题讨论】:

    标签: usb


    【解决方案1】:

    考虑热插拔机制。使用热插拔,内核在硬件改变其状态时发送事件。通常监听事件意味着使用/sbin/hotplug 脚本,但也提供了一个netlink 套接字。所以你可以监听socket,过滤需要的事件并处理它们。

    Here 是一个文档,您可以找到详细解释和 C 代码示例。

    【讨论】:

      【解决方案2】:

      您应该使用 udev 服务并定义一个触发器,该触发器将根据插入设备的属性启动您的应用程序。

      【讨论】:

      • 如果应用程序需要在插入驱动器之前和之后保持运行怎么办?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-27
      • 2012-11-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多