java 监控usb端口插拔_如何监控某种类型的USB设备的插拔?
用System.Managment class 試試
下面是我在網上找到的代碼
出處
http://www.eggheadcafe.com/software/aspnet/31850441/c-usb-pluginremoval-h.aspx
代碼如下:
// This code demonstrates how to monitor the UsbControllerDevice for
// the arrival of creation/operation events
using System;
using System.ComponentModel;
using System.Runtime.InteropServices;
using System.Management;
class WMIEvent {
public static void Main() {
WMIEvent we = new WMIEvent();
ManagementEventWatcher w= null;
WqlEventQuery q;
ManagementOperationObserver observer = new ManagementOperationObserver();
// Bind to local machine
ManagementScope scope = new ManagementScope("root\\CIMV2");
scope.Options.EnablePrivileges = true; //set required privilege
try {
q = new WqlEventQuery();
q.EventClassName = "__InstanceOperationEvent";
q.WithinInterval = new TimeSpan(0,0,3);
q.Condition = @"TargetInstance ISA 'Win32_DiskDrive' ";
w = new ManagementEventWatcher(scope, q);
w.EventArrived += new EventArrivedEventHandler(we.DiskEventArrived);
w.Start();
Console.ReadLine(); // block main thread for test purposes
}
catch(Exception e) {
Console.WriteLine(e.Message);
}
finally {
w.Stop();
}
}
public void DiskEventArrived(object sender, EventArrivedEventArgs e) {
//Get the Event object and display its properties (all)
foreach(PropertyData pd in e.NewEvent.Properties) {
ManagementBaseObject mbo = null;
if(( mbo = pd.Value as ManagementBaseObject) != null) {
Console.WriteLine("--------------Properties------------------");
foreach(PropertyData prop in mbo.Properties)
Console.WriteLine("{0} - {1}", prop.Name, prop.Value);
}
}
}
}
下面幾篇文章也提供給你參考
MSDN 中介紹如何注冊驅動的通知消息
http://msdn.microsoft.com/en-us/library/aa363432.aspx
Detecting USB Stick Plug in and Plug out (USB Harddrive)
http://bytes.com/groups/net-c/234006-detecting-usb-stick-plug-plug-out-usb-harddrive
總結
以上是生活随笔為你收集整理的java 监控usb端口插拔_如何监控某种类型的USB设备的插拔?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 4 7怎么算术运算_java四
- 下一篇: 生物计算机的主要原材料是(),新材料为生