我已经为嵌入式Linux项目编写了一个应用程序,并且希望用户插入USB驱动器时,我的应用程序显示特定菜单。我正在用Qt用C ++编写应用程序。
我的系统没有d-bus,但使用的是udev。在我看来,udev是执行此检测的“正确”方法,但似乎很复杂。
谁能指出我正确的方向来开始这一工作?有没有udev的方法吗?如果没有,是否可以使用udev的“入门”指南?我真的不需要太多功能,只需一种方法即可在插入驱动器时通知我的应用程序(以及足够的信息供我的应用程序安装驱动器)。
谢谢
马龙
本文档的“ libudev-
监视界面”部分http://www.signal11.us/oss/udev/
应该使您入门。
代替while(1)循环和睡眠,只需使用该东西创建一个函数,然后设置一个定期的Qt计时器每半秒或任何时间调用一次即可。
问题内容: 我想知道如何检测USB驱动器。但是我想知道我们是否可以用来检查USB驱动器。我读过的帖子确实解释了如何使用,但我不太了解。如果有人可以提供示例,那就太好了。谢谢。 问题答案: 您可以使用File.listRoots()方法。 这里的问题是,您将需要一个名称或其他信息来将驱动器标识为USB驱动器。否则,您无法使用这种方法告诉普通驱动器和USB驱动器。
问题内容: 当从PC上拔下USB键盘时,是否有任何守护程序/工具会触发某些信号/事件?我需要在程序中知道何时插入和拔出USB键盘。任何想法如何做到这一点? 问候,莱文 问题答案: udev(Linux设备管理器)是轮询硬件的工具。当它检测到有关设备的某些更改时,它将执行关联的规则。 您应该在udev中添加一条规则,以告知您的程序有关插入USB键盘的插入操作。您可以在此处找到有关udev规则的文档,
问题内容: 我目前正在用python编写一个安全程序,该程序在主机上作为守护程序运行。每当检测到USB存储设备时,它都会将所有文件从USB复制到主机上的某个目录中。有什么简单的方法可以进行这种USB检测/接口?提前致谢! 问题答案: 是的,您需要使用Windows API调用。据我所知,没有包装此功能的Python模块,因此您必须使用它来调用此功能。 幸运的是,您不是第一个想要这样做的人,因此网上
问题内容: 我正在尝试从 Raspberry Pi 上的 Android Things 应用的USB驱动器中读取文件。我可以像这样扫描已安装设备的列表: __ 显示以下输出: 但是,我的拇指驱动器不在列表中。所以我想我需要以某种方式安装它。如何安装拇指驱动器并访问其中的文件? 问题答案: 仅亚行解决方案 到目前为止,USB驱动器似乎尚未自动安装。为了使您的代码正常工作,我必须手动安装它。 如您所见
问题内容: 有什么方法可以确定使用C ++的linux中USB驱动器的s / n吗? 如果不是的话,C ++是否与and 有任何其他区别? 问题答案: 我将尝试总结有关在Linux上进行存储驱动器序列号检索的经验。 我假设您要 存储设备 标识的序列号(按照SCSI规范)而不是 USB设备 的序列号(按照Device Descriptor 下的USB规范),这两个是不同的实体。 注意! 大多数设备倾
问题内容: 每当将任何USB闪存驱动器(不仅是特定的USB闪存驱动器)插入系统时,我都试图运行一个脚本,并且我已经断断续续地花了大约2周的时间来尝试找出问题。有谁能够帮助我?(如果有帮助,请运行Ubuntu)。 我需要至少传递驱动器序列号和devpath(/ dev / sd **)。 问题答案: 首先,您需要使用规则来检测USB存储设备 /etc/udev/rules.d/10-usbmount