您好,登錄后才能下訂單哦!
將開發過程經常用的一些代碼段做個備份,如下代碼段是關于C# 檢測pc光驅里插入了光盤的代碼,應該能對碼農們也有好處。
using System;
using System.Management;
namespace CDROMManagement
{
class WMIEvent
{
static void Main(string[] args)
{
WMIEvent we = new WMIEvent();
ManagementEventWatcher w = null;
WqlEventQuery q;
ManagementOperationObserver observer = new
ManagementOperationObserver();
ConnectionOptions opt = new ConnectionOptions();
ManagementScope scope = new ManagementScope( "root\CIMV2", opt );
try
{
q = new WqlEventQuery();
q.EventClassName = "__InstanceModificationEvent";
q.WithinInterval = new TimeSpan( 0, 0, 1 );
q.Condition = @"TargetInstance ISA 'Win32_LogicalDisk' and
TargetInstance.DriveType = 5";
w = new ManagementEventWatcher( scope, q );
w.EventArrived += new EventArrivedEventHandler( we.CDREventArrived );
w.Start();
Console.ReadLine();
}
catch( Exception e )
{
Console.WriteLine( e.Message );
}
finally
{
w.Stop();
}
}
public void CDREventArrived(object sender, EventArrivedEventArgs e)
{
PropertyData pd = e.NewEvent.Properties["TargetInstance"];
if (pd != null)
{
ManagementBaseObject mbo = pd.Value as ManagementBaseObject;
if (mbo.Properties["VolumeName"].Value != null)
{
Console.WriteLine("CD has been inserted");
}
else
{
Console.WriteLine("CD has been ejected");
}
}
}
}
}
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。