埋め込みデバイスが自分のPCのUSBポートに接続されると、イベントとしてEXEがトリガーされます。どうすればこれを達成できますか?一度だけEXEをトリガーするデバイスがUSBで接続されている
USBコネクタバスを監視し続けるサービスを作成する必要がありますか、これを達成するためにWindowsにデフォルトAPIがありますか?
ありがとうございました。
埋め込みデバイスが自分のPCのUSBポートに接続されると、イベントとしてEXEがトリガーされます。どうすればこれを達成できますか?一度だけEXEをトリガーするデバイスがUSBで接続されている
USBコネクタバスを監視し続けるサービスを作成する必要がありますか、これを達成するためにWindowsにデフォルトAPIがありますか?
ありがとうございました。
接続時に起動する簡単なexeはできません。しかし、デバイス到着イベントをリッスンするサービスまたはユーザーモードアプリケーションを記述することができます。 WM_DEVICECHANGEは、どのデバイスが接続されているかを表すデバイスインタフェースguidを持つすべてのアプリケーション(registered)に送信されます。次に、このIDをsetupapiとともに使用して、デバイスがあるかどうかを確認します。
このイベントを受信すると、実行可能ファイルを開始できます。
このスレッドのサンプルはまさにこれを行いますhttp://www.dotnet247.com/247reference/msgs/32/164968.aspx –
ご使用のWindowsのバージョンによっては、USBドライブのルートフォルダにあるAutoRun.infファイルを使用してworkaroundを使用している可能性があります。セキュリティ上の理由から、これはデフォルトでは無効になっており、Windows 7ではまったく使用できません。
より堅牢な方法で同じ効果を達成するには、デバイスが接続されているかどうかを監視するサービスを作成する必要があります(接続されたAppleデバイスを監視するiTunesHelperなど)。
もっとも簡単な解決策はおそらく簡単なUMDFドライバです。これは基本的に、デバイスが接続されているときに呼び出される小さなCOMコンポーネントです。
EXEをどのようなコンテキストで実行する必要がありますか?現在インタラクティブにログインしているユーザーですか?サービスはかなり簡単ですが、事前定義されたアカウントで実行されます。 – MSalters
[USBが接続されているときにイベントをトリガする方法](http://stackoverflow.com/questions/10259805/how-to-trigger-an-event-when-usb-is-plugged) – Deanna