【问题标题】:Drive not ready condition while DVD media inserted. Why does this happen?插入 DVD 介质时驱动器未就绪状态。为什么会这样?
【发布时间】:2012-01-20 07:54:59
【问题描述】:

我有这个代码:

DriveInfo dr = new DriveInfo(@"E:\");

if (dr.IsReady == false)
{
  MessageBox.Show("Drive E: is not ready. Please insert a blank DVD medium.");
}

所以,我在驱动器中插入一张空白 DVD 并运行代码。我错过了什么?

非常感谢

【问题讨论】:

  • 当您插入包含信息的 DVD 时会发生什么?
  • 试试DriveInfo dr = new DriveInfo("E");
  • @Sparky - 你明白 DriveInfo 不会为你提供刻录磁盘的方法吗?
  • @Ramhound - 是的,我知道这一点,谢谢。

标签: c# driveinfo


【解决方案1】:

空白 DVD 上的DriveInfo.IsReady 将返回 false。

如果您需要区分是否存在空白光盘,则需要使用不同的库。这是一个包含 IMAPI2(Window 的 Image Mastering API)的互操作包装器的程序:http://www.codeproject.com/KB/miscctrl/imapi2.aspx

使用互操作包装器并调用

IDiscFormat2Data discFormatData = new MsftDiscFormat2Data();
if (discFormatData.CurrentMediaStatus == IMAPI_FORMAT2_DATA_MEDIA_STATE.IMAPI_FORMAT2_DATA_MEDIA_STATE_BLANK)
{
    ...
}

【讨论】:

  • 我只需要知道我的驱动器中插入的媒体是 DVD 是否可以不使用 IMAPI 完成此操作?
  • 显然,当驱动器中存在可以读取的格式化/安装(即非空白)光盘时,驱动器已“准备就绪”......
猜你喜欢
  • 2021-07-10
  • 2012-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
  • 2011-05-05
  • 2018-11-18
  • 1970-01-01
相关资源
最近更新 更多