插入USB后自动运行

Auto run when USB plugged in

本文关键字:运行 USB 插入      更新时间:2023-10-16

当存储程序的USB插入计算机时,是否可以使程序自动运行(执行)

我认为这是不可能的,因为我在互联网上搜索过,而且这种编码会有的安全风险

例如,我有一个用C++编程的简单倒计时计时器(10比1)(在windows上兼容),当USB(存储.exe文件的USB)插入计算机时,计时器将启动,而无需我手动执行。

您可以创建一个Autorun.inf文件并将其放置在USB驱动器上。连接驱动器后,Windows将读取此文件。在文件中,您可以指定要运行的程序的名称,以及图标等。

插入USB驱动器时,不能强制程序运行。这取决于操作系统的安全策略,大多数操作系统至少会提示用户"你想从这个驱动器运行‘Setup.exe’吗?"或类似的信息。

默认情况下,这是不可能的,因为Windows让用户尽可能多地控制他们的计算机——如果他们不想启用自动运行,就不可能自动执行程序。

你可以写一个在后台运行的助手程序(可能是作为一项服务),它大部分时间都在睡觉,等待USB设备的插入。可能有一种方法可以接收通知,或者你可能只需要定期轮询它,我不知道。一旦它检测到USB设备,它当然可以随心所欲(CreateProcess等)。

自Windows 7以来,当涉及到USB设备时,autorun.inf文件将被忽略。U3技术允许将拇指驱动器视为CD/DVD,这可能是一种可能的解决方案。

我认为你可以使用system()来做到这一点,如果你熟悉cmd中的disktype命令,那么我认为你就能弄清楚。您可以在命令提示符下执行的所有操作,也可以在c++中使用system()执行。但它将消耗大量内存空间