我想了解如何在没有插入磁盘介质的情况下区分 cd 驱动器和 dvd 驱动器。
因为存在插入的磁盘媒体的答案。
我知道这样做的唯一方法是在机器上获取 WMI Win32_CDROMDrive 实例,然后在 Name 或 DeviceId 属性中检查 DVD。
您甚至可能不得不从实例中获取 DeviceID,然后检查注册表中的 HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum[DeviceIdHere]\Device 参数,然后检查是否存在名为“DefaultDvdRegion”的值。这对于 CDROM 驱动器不存在,但对于 DVD 驱动器存在。
如果你想使用 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;