1

Windows XP で、特定の種類の USB デバイスが接続されている場合に特定のアプリケーションを実行する最良の方法は何ですか (現在、ストレージ デバイスとして接続されています。つまり、ドライブとして表示されます)。

私が探しているソリューションは、デバイスが最初に接続されたときからアプリケーションを実行するか、アプリケーションを選択として提供する必要があります。どちらか達成しやすい方で、デバイスはストレージデバイスとして接続されたままにする必要があります。

編集:接続されているすべてのデバイスをポーリングするだけでは十分ではありません。ウィンドウはその段階ですでにポップアップを実行しています。問題は、追加のポップアップなしでアプリケーションを起動することです。その場合、アプリケーションはデバイスを通常のストレージ ドライブとして使用する必要があります。

4

4 に答える 4

3

クイック検索でこのサイトが見つかりました。セクション「3.3 デバイス変更リスナー」を参照してください。

于 2008-10-02T09:48:34.273 に答える
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ハンドラーが目的のアプリケーションを起動します。

于 2008-10-02T10:48:03.007 に答える
2

USB ドライブの自動再生をオンにして、USB ドライブに autorun.inf ファイルをセットアップすることもできますが、これを悪用するウイルスがいくつか存在するため、この方法はお勧めしません。デフォルトでオフになっているのには理由があります。

ただし、この道をたどりたい場合は、この Web サイトをご覧ください。多くの優れた情報と、操作できる autorun.inf ジェネレーターがあります。

于 2008-10-02T09:40:14.667 に答える
1

一酸化炭素は正しい考えを持っています。私は自分の音楽コレクションを管理する際にこのテクニックを自分で使用しています。私のメイン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で表示される[自動再生]ダイアログに表示されるのは、デフォルトの選択である[プログラムの実行/デバイスで提供されているプログラムの使用]です。ワンクリックでオフになり、実行されます。

于 2008-10-02T14:16:13.617 に答える