c# – 检测光盘是否在DVD驱动器中
发布时间:2020-12-15 18:10:16 所属栏目:百科 来源:网络整理
导读:是否有一种简单的方法可以检测DVD驱动器中是否插入了光盘?我不在乎什么样的光盘(CD,DVD或蓝光)? 解决方法 使用WMI检测CD / DVD驱动器中的磁盘: foreach (var drive in DriveInfo.GetDrives() .Where(d = d.DriveType == DriveType.CDRom)) MessageBox.Sho
是否有一种简单的方法可以检测DVD驱动器中是否插入了光盘?我不在乎什么样的光盘(CD,DVD或蓝光)?
解决方法
使用WMI检测CD / DVD驱动器中的磁盘:
foreach (var drive in DriveInfo.GetDrives() .Where(d => d.DriveType == DriveType.CDRom)) MessageBox.Show(drive.Name + " " + drive.IsReady.ToString()); 从here. DriveType Enumeration可以帮你什么样的光盘: > CDRom:驱动器是光盘设备,例如CD或DVD-ROM. 对于CD / DVD /蓝光的种类见IMAPI_MEDIA_PHYSICAL_TYPE enumeration: >未知 你的代码可能是这样的: public bool IsDiscAvailable(int driveNumber) { MsftDiscMaster2Class discMaster = new MsftDiscMaster2Class(); string id = discMaster[driveNumber]; MsftDiscRecorder2Class recorder = new MsftDiscRecorder2Class(); recorder.InitializeDiscRecorder(id); MsftDiscFormat2DataClass dataWriter = new MsftDiscFormat2DataClass(); if (dataWriter.IsRecorderSupported(recorder)) { dataWriter.Recorder = recorder; } else { Console.WriteLine("Recorder not supported"); return false; } if (dataWriter.IsCurrentMediaSupported(recorder)) { var media = dataWriter.CurrentPhysicalMediaType; if (media == IMAPI_MEDIA_PHYSICAL_TYPE.IMAPI_MEDIA_TYPE_UNKNOWN) { Console.WriteLine("Unknown media or no disc"); } else { Console.WriteLine("Found disc type {0}",media); return true; } } else { Console.WriteLine("Disc absent or invalid."); } return false; } 从here. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |