2011-12-14 21 views
1

我有這樣的代碼:驅動器未準備就緒狀態,而DVD介質已插入。爲什麼會發生?

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

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

所以我在驅動器中插入一張空白DVD和運行代碼。我錯過了什麼?

由於在空白的DVD很多

+0

當您插入上有信息的DVD,會發生什麼? – Shai 2011-12-14 14:37:34

+0

嘗試`DriveInfo dr = new DriveInfo(「E」);` – Reniuz 2011-12-14 14:45:13

回答

2

DriveInfo.IsReady將返回false。

如果您需要區分是否有空白光盤,則需要使用其他庫。下面是包括圍繞IMAPI2(窗口的形象掌握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) 
{ 
    ... 
} 
相關問題