0

我正在尝试在应用程序中检测 CD-ROM 驱动器,我正在使用

ComboBox cb = new ComboBox();
        var drives = DriveInfo.GetDrives();
        foreach (var drive in drives)
        {
            if (drive.DriveType == DriveType.CDRom)
            {
                cboDrives.Items.Add(drive);
            }
        }

它拾取 D:\ 和 E:\

D:\ 是我工作 PC 上的真正 CD-ROM,E:\ 是通过酒精 120% 的虚拟驱动器

我正在创建一个应用程序来将光学媒体读取到 ISO,然后我将 ISO 安装在酒精中以测试 ISO 是否正常。

我想让用户更容易,在创建 ISO 时,他们只有一个驱动器可供选择,并且相同的驱动器用于 ISO 测试。

当我的应用程序测试 ISO 的部分运行但并非所有 PC 都将 D:\ 作为其 CD 驱动器时,我可以尝试过滤掉驱动器号 D:\,例如我的 Win8.1 盒子将它作为 J:.. . 并带有两个虚拟 CD 驱动器(酒精和虚拟克隆驱动器)G:\ 和 N:。

有没有办法自己获取真正的 CD 驱动器盘符,然后为虚拟盘符获取相同的盘符?

更新 有趣的是,我发现通过测试驱动器是否就绪,然后只有 CD 驱动器被拾取,因为它包含媒体,而虚拟驱动器没有。安装媒体后,它就会被拾取,我想我可以用这个和/或重复的问题答案做点什么。

ComboBox cb = new ComboBox();
        var drives = DriveInfo.GetDrives();
        foreach (var drive in drives)
        {
            if (drive.IsReady == true)
            {
                if (drive.DriveType == DriveType.CDRom)
                {
                    cboDrives.Items.Add(drive);
                }
            }
        }
4

0 回答 0