!!!技術的雑談-WMIでUSBの抜き差しを検知する !!環境 *OS : WindowsXP sp2 *.NET Framework 2.0 !!目的 *USBデバイスの抜き差しをプログラムから検知する !!方法 WMI(Windows Management ==Interface?== Instrumentation)とイベントを使用する。 参照: Lan-Secure Network Blog http://www.lan-secure.com/2008/03/usb-detection-using-wmi-script.html WMI Code Creator v1.0 http://www.microsoft.com/downloads/details.aspx?familyid=2cc30a64-ea15-4661-8da4-55bbc145c30e&displaylang=en WMIは「WQL」というSQLに似た言語でOSに関する様々なオブジェクトを検索して使用することができるらしい。 上記のWMI Code Creatorを使うとVBScript、VB.NET、C#.NETでWMIを使用するコードが簡単に作れる。 (ついでに管理可能Objectの一覧を見たりすることもできるし、WMI Code Creator自体のソースもついているので、プログラム内からWMI Objectの一覧を取得したりもできるらしい。) 管理Objectごとに使えるプロパティーが異なるらしく、何が使えるかはMSDN参照…というほかない。 http://msdn.microsoft.com/en-us/library/aa394582(VS.85).aspx !! サンプル サンプルは時間がある時にでも書きます(^^; (手元ではUSBデバイスの抜き差しをイベントで検出するプログラムがあるのですが^^;) 応用すればUSB以外のデバイスの抜き差しに関するイベントも拾えそうです。 イベント以外は大体標準のライブラリの中で何とか知ることができるものが多い気がするのですが…。 !!履歴 2009/01/28 -- 初版 2009/01/29 -- 初版の日付が間違っていたのとWMIの意味が誤っていたのを修正。 [[技術的雑談]]へ戻る !!突っ込み {{comment}} [[技術的雑談]]へ戻る {{trackback}} [[技術的雑談]]へ戻る