Home || 回首頁
Top of Page || 回到頁首
訂閱文章

推薦貼紙

加入

英漢字典 En-Ch Dictionary

星期六, 十月 17, 2009

VB.NET 監控 USB 裝置插拔

為了可以監控 USB 裝置插拔, 採用 WMI(Windows Management Instrumentation) 來實現, 如果是在本機查詢的話, 不會有 CPU 佔用使用率的問題 (wmiprvse.exe), 但是在某遠端電腦的監控, 就會有 CPU 使用率過高的問題, 後來改用 WINPROC 處理 Windows 訊息, 不過要用到 window Setup API 由於程式編輯器是 VB.NET, 找到 VC++ 的源碼, 再一步步的轉譯, 再來就是測試, 後來寫成一個類別, 發現處理訊息要靠 Form 表單來觸發, 於是加上繼承類別 NativeWindow, 並使用 AssignHandle 方法, 因為不知道主程式表單的 handle 何時產生, 又加上 Timers.Timer 來監控主程式表單, 結果碰到跨執行緒的問題, 所以再加上 invoke 功能, 到此測試監控遠端電腦 USB 裝置插拔的功能正常, 也許還有 bug 和改進的空間, 繼續工作囉,...

0 意見:

BloggerAds