可以自行断开连接的 USB 驱动器

可以自行断开连接的 USB 驱动器

这只是我想做的一个想法,但我不知道从哪里开始。想象一下,你有一个 USB 驱动器,你可以将它连接到选定的 PC。如果 USB 驱动器连接到任何其他设备或 PC,它将断开连接。我不想使用加密,因为如果我想对 MP3 播放器这样做会怎么样。所以我唯一能想到的想法是自动运行文件,一旦 USB 连接,它就会运行并在连接的 PC 或设备上查找文件,如果找不到,它就会断开连接,如果找到了,它就会保持连接。

有谁知道从哪里开始这个想法?

答案1

我知道这是不好的做法。SuperUser 不是脚本编写服务,我也不想鼓励这种行为,但你要求的太简单了,嗯...这里有一个可以完成这项工作的 VBScript 文件:

Const USBFILE = "C:\Whatever.usb"    'Or whatever file name you want here
Const USB_DRIVE = "E:"    'Or whatever letter your USB drive is

Dim objShell :Set objShell = CreateObject("WScript.Shell")
Dim objFS :Set objFS = CreateObject("Scripting.FilesystemObject")

If objFS.FileExists(USBFILE) = False Then
    objShell.Run "mountvol " & USB_DRIVE & " /d"
End If

将该文件另存为.vbs

将其纳入Autorun.inf并根据您的需要进行调整取决于您。这个问题本身已经偏离主题了。

答案2

不应允许 USB 设备自动运行任意代码(Windows 现在会提示您是否要执行 CD/DVD/USB 设备的自动运行功能)。因此,我认为您不能指望 USB 设备以这种方式自动断开连接。

但是,如果您能够对 USB 驱动器上的 USB 控制器芯片进行编程,那么当主机不匹配某些参数时,您可能能够有效地禁用该设备。我没有这方面的经验,不知道该怎么做,也不知道可以检查哪些参数。我认为这种低级别的操作超出了您想要承担的范围,所以我想说,您的想法根本无法通过自动运行实现,因为机器不会自动执行该代码。您可以为您熟悉和使用的机器配置该功能,但我认为这不是您想要完成的范围。

相关内容