ふと思い立って前回のUSBデバイス版です。共通部分は省略。調べるのが面倒だったので使うIDとか一部適当です。
- USB接続イベントログを有効化
- Event Viewerを開き,
Applications and Services Logs > Microsoft > Windows > DriverFrameworks > UserMode > Operational
のコンテキストメニューからEnable Log
を選択- デフォルトでは無効になっているはず
- Event Viewerを開き,
- 対象のUSBデバイスのアドレスを確認
- USB接続イベントログを有効化した状態で実際に接続すると
Event ID=2100
(ID違うかも)としてログが吐かれるので,Event Properties > Details
のUserData > InstanceId
(LifetimeId
かも。適当)をメモ
- USB接続イベントログを有効化した状態で実際に接続すると
- Task Schedulerの設定
- Task Schedulerを開き,てきとうなディレクトリで
Create Task
- お作法をよくわかっていないが,
Task Scheduler Library/Users
を作っておいた
- お作法をよくわかっていないが,
- 以下を設定
General > Name
: てきとうTrigger > New
:Begin the task=On an event
Settings > Custom > New Event Filter
でXMLタブからEdit query manually
を有効化して以下を入力- 対象のUSBデバイスのIDはイベントログからメモったもの
&
が含まれる場合はエスケープ (&
) が必要
<QueryList> <Query Id="0" Path="Microsoft-Windows-DriverFrameworks-UserMode/Operational"> <Select Path="Microsoft-Windows-DriverFrameworks-UserMode/Operational"> *[System[Provider[@Name='Microsoft-Windows-DriverFrameworks-UserMode'] and EventID=2100]] and *[UserData[UMDFHostDeviceRequest[InstanceId='【対象のUSBデバイスのID】']]] </Select> </Query> </QueryList>
- 対象のUSBデバイスのIDはイベントログからメモったもの
Actions > New
:Action=Start a program
Program/script=【作成したVBスクリプトのパス】
- その他の設定はデフォルトでok
- Task Schedulerを開き,てきとうなディレクトリで