Ria*_*Ria 14
使用WMI检测CD/DVD驱动器中的磁盘:
foreach (var drive in DriveInfo.GetDrives()
.Where(d => d.DriveType == DriveType.CDRom))
MessageBox.Show(drive.Name + " " + drive.IsReady.ToString());
Run Code Online (Sandbox Code Playgroud)
从这里开始.
DriveType Enumeration可以帮助您获得什么样的光盘:
CDRom :驱动器是光盘设备,例如CD或DVD-ROM. Fixed :驱动器是固定磁盘. Network :驱动器是网络驱动器. NoRootDirectory 该驱动器没有根目录. Ram :驱动器是RAM磁盘. Removable :驱动器是可移动存储设备,如软盘驱动器或USB闪存驱动器. Unknown :驱动器类型未知. 对于CD/DVD /蓝光的种类,请参阅IMAPI_MEDIA_PHYSICAL_TYPE枚举:
你的代码可能是这样的:
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;
}
Run Code Online (Sandbox Code Playgroud)
从这里开始.
| 归档时间: |
|
| 查看次数: |
8145 次 |
| 最近记录: |