2008-10-02 9 views
1

В Windows XP лучший способ выполнить конкретное приложение при подключении определенного типа USB-устройства (оно в настоящее время подключается как устройство хранения данных - т.е. он появляется как диск).Как выполнить приложение в XP при подключении определенного типа USB-устройства

Решение, которое я ищу, должно выполнить приложение с самого первого момента, когда устройство подключено или предложит приложение в качестве выбора, в зависимости от того, что легче достичь, устройство должно оставаться прикрепленным в качестве устройства хранения.

РЕДАКТИРОВАТЬ: Опрос всех подключенных устройств не является адекватным - окна уже сделали свои всплывающие окна на этом этапе. Проблема заключается в том, что при запуске приложения без дополнительных всплывающих окон приложение должно будет использовать устройство как обычный накопитель.

ответ

2

Вы также можете включить автовоспроизведение для USB-накопителей и настроить файл autorun.inf на USB-накопителе, хотя я советую против этого метода, так как есть несколько вирусов, которые используют это. По этой причине это по умолчанию.

Если вы хотите спуститься по этой дороге, хотя, have a look at this website, есть много хорошей информации и генератор autorun.inf, с которым вы можете играть.

3

Быстрый поиск показал this site, смотрите раздел «Изменение слушатель 3.3 Device»

2

Вы могли бы иметь фоновое приложение, реагирующее на событие соединения данного конкретного устройства 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 затем запускает нужное приложение.

1

Моноксид имеет правильную идею. Я сам использую эту технику в управлении моей музыкальной коллекцией. Мой главный компьютер - это ноутбук, но моя музыкальная коллекция стала достаточно большой, и мне пришлось переместить ее на внешний диск. Так что на внешнем диске я поставил следующий AUTORUN.INF:

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

Как вы можете видеть, он предлагает запустить Itunes из C: когда прикрепленного этот диск. По какой-то причине ярлык и значок не попадают в окно AutoPlay, но LABEL появляется, когда этот диск просматривается в «Моем компьютере». Что вы видите в диалоговом окне AutoPlay, которое появляется в XP, является выбор по умолчанию: «Запустите программу/с помощью программы, предоставляемой на устройстве». Один клик, и вы выключены и запущены.

+0

Нет, вы правы, это inf, и я исправил свой пост. Хорошо поймал. – 2008-10-03 00:24:52