连接了特定类型的USB设备后,如何在XP中执行应用程序

时间:2020-03-06 15:01:01  来源:igfitidea点击:

在Windows XP中,当连接了特定类型的USB设备(当前作为存储设备(即,它作为驱动器)连接)时,执行特定应用程序的最佳方法是什么。

我正在寻找的解决方案必须从设备首次连接开始就执行该应用程序,或者以应用程序作为选择,无论哪种实现方式都比较容易实现,该设备必须作为存储设备保持连接状态。

编辑:轮询所有连接的设备是不足够的窗口将已经在该阶段完成其弹出窗口。问题在于启动该应用程序时没有其他弹出窗口,然后该应用程序将需要将该设备用作普通存储驱动器。

解决方案

我们也可以打开USB驱动器的自动播放功能,并在USB驱动器上设置autorun.inf文件,尽管我建议我们不要使用此方法,因为周围有多种病毒可以利用此方法。有一个默认情况下处于关闭状态的原因。

但是,如果我们确实想走这条路,请访问此网站,那里有很多很好的信息,我们可以使用autorun.inf生成器。

快速搜索显示了此站点,请参阅" 3.3设备更改侦听器"部分

我们可能有一个后台应用程序对该特定USB设备的连接事件作出反应,这将启动实际的应用程序。

ManagementEventWatcher Watcher;
WqlEventQuery Query = new WqlEventQuery();
Query.EventClassName = "__InstanceCreationEvent";
Query.Condition = "TargetInstance ISA 'Win32_USBControllerDevice'";
Query.WithinInterval = new TimeSpan(0, 0, 2);

Watcher = new ManagementEventWatcher(Query);
Watcher.EventArrived += new EventArrivedEventHandler(OnUsbConnected);

然后,OnUsbConnected处理程序将启动所需的应用程序。

一氧化碳是正确的想法。我本人在管理音乐收藏时使用了这种技术。我的主PC是一台笔记本电脑,但是我的音乐收藏足够大,不得不将其移动到外部驱动器上。因此,在外部驱动器上,我输入了以下AUTORUN.INF:

[autorun]
open=c:\progra~1\itunes\itunes.exe
label=Open iTunes
icon=c:\progra~1\itunes\itunes.exe,0

如我们所见,连接此驱动器后,它可以从C:启动iTunes。由于某种原因,"自动播放"窗口不会拾取标签和图标,但是在"我的电脑"中查看该驱动器时,LABEL会出现。在XP附带的"自动播放"对话框中看到的默认选择是"运行程序/使用设备上提供的程序"。一键,我们就可以开始跑步了。