手机
当前位置:查字典教程网 >编程开发 >C#教程 >C#检测pc光驱里是否插入了光盘的方法
C#检测pc光驱里是否插入了光盘的方法
摘要:本文实例讲述了C#检测pc光驱里是否插入了光盘的方法。分享给大家供大家参考。具体如下:C#检测pc光驱里是否插入了光盘,需要添加System...

本文实例讲述了C#检测pc光驱里是否插入了光盘的方法。分享给大家供大家参考。具体如下:

C# 检测pc光驱里是否插入了光盘,需要添加System.Management.dll 的引用

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(); // Bind to local machine ConnectionOptions opt = new ConnectionOptions(); opt.EnablePrivileges = true; //sets required privilege ManagementScope scope = new ManagementScope( "rootCIMV2", opt ); try { q = new WqlEventQuery(); q.EventClassName = "__InstanceModificationEvent"; q.WithinInterval = new TimeSpan( 0, 0, 1 ); // DriveType - 5: CDROM q.Condition = @"TargetInstance ISA 'Win32_LogicalDisk' and TargetInstance.DriveType = 5"; w = new ManagementEventWatcher( scope, q ); // register async. event handler w.EventArrived += new EventArrivedEventHandler( we.CDREventArrived ); w.Start(); // Do something usefull,block thread for testing Console.ReadLine(); } catch( Exception e ) { Console.WriteLine( e.Message ); } finally { w.Stop(); } } // Dump all properties public void CDREventArrived(object sender, EventArrivedEventArgs e) { // Get the Event object and display it PropertyData pd = e.NewEvent.Properties["TargetInstance"]; if (pd != null) { ManagementBaseObject mbo = pd.Value as ManagementBaseObject; // if CD removed VolumeName == null if (mbo.Properties["VolumeName"].Value != null) { Console.WriteLine("CD has been inserted"); } else { Console.WriteLine("CD has been ejected"); } } } } }

希望本文所述对大家的C#程序设计有所帮助。

【C#检测pc光驱里是否插入了光盘的方法】相关文章:

TextBox获取输入焦点时自动全选的实现方法

C# 中将数值型数据转换为字节数组的方法

C# 禁用鼠标中间键的方法

C#操作注册表的方法

c#模拟平抛运动动画的方法详解

C#.NET字符串比较中忽略符号的方法

C#调用Java类的实现方法

使用C#开发Socket通讯的方法

解决C#程序只允许运行一个实例的几种方法详解

C#下解析HTML的两种方法介绍

精品推荐
分类导航