我想如何区分cd驱动器和dvd驱动器没有插入磁盘介质。
由于存在插入的磁盘介质的答案。
答案 0 :(得分:4)
我知道这样做的唯一方法是在机器上获取WMI Win32_CDROMDrive实例,然后在Name或DeviceId属性中检查DVD。
您甚至可能必须从isntance获取DeviceID,然后在HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Enum [DeviceIdHere] \ Device Parameters下检查注册表,然后检查是否存在名为“DefaultDvdRegion”的值”。这对于CDROM驱动器不存在,但对于DVD驱动器则不存在。
答案 1 :(得分:0)
如果您想使用Windows提供的IMAPI,那么您还可以使用类似的代码:
// Depending on how you import the COM interface, the names of types and methods
// may differ slightly from the following example. You can either add a reference
// to the COM library in Visual Studio, or roll your own if you choose.
MsftDiscRecorder2 recorder = new MsftDiscRecorder2();
recorder.InitializeDiscRecorder(uniqueId); // From MsftDiscMaster2
foreach (FeaturePageType feature in recorder.SupportedFeaturePages)
{
if (feature == FeaturePageType.DvdRead)
{
return true;
}
}
return false;