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