2011-06-16 104 views
1

有沒有人有一個好方法來檢查CDROM驅動器的狀態,並等待它完全初始化並準備好之後再嘗試訪問它?C++檢查cdrom狀態

目前我正在使用WMI的Win32_CDROMDrive。我檢查'MediaLoaded',並等待它從'假'變爲'真'。這在90%的時間內都能正常工作,但是我偶爾會發現操作系統有錯誤,說它預計之前的音量(CD)仍然在驅動器中。

工作流程: 1.將光盤 1.5等待 'MediaLoaded' 標誌 2.過程數據 3.彈出CD 4.開始。

的WinXP 32位,C++

回答

2

你知道的CDROM驅動器盤符?如果是這樣,你可以定期調用GetVolumeInformation()還是FindFirstFile(),並等到它成功?

+1

我還建議'GetVolumeInformation()'作爲最可靠的方法。當我必須處理幾百張光盤時,我已經在Python腳本中使用它(很像OP的場景)。它從未失敗。 – efotinis 2011-06-16 22:46:43