17

私は C# で DVD の読み取りと書き込みのアプリを持っています。空のドライブ (ディスクなし) と開いているドライブの違いを検出できるようにしたいと考えています。

編集:さらにグーグルで調べた後、より良い問題の説明は「ドライブトレイのステータスにアクセスしたい-開いているか閉じている」だと思います

使うことができます

ManagementObjectSearcher("SELECT * FROM Win32_LogicalDisk WHERE DriveType= 5")

システム内のすべての DVD ドライブを検索すると、ドライブにディスクがあるかどうかがプロパティに表示されます。Accessプロパティは、空のディスクがあるかどうかを教えてくれます。

ただしAccess、ドライブが開いているとき、およびドライブが閉じていて空のときは null です。また、ドライブの開閉時に変化するプロパティは他にありません。

開いているドライブと閉じている空のドライブを区別する方法を知っている人はいますか?

私は Win7 を使用していますが、理想的にはこのソリューションは XP と Vista でも動作します。

4

2 に答える 2

5

MediaLoaded プロパティ (Win32_CDROMDrive) は、ディスクがロードされているかどうかを示します。私はあなたが探しているものを少し混乱させています:

  1. ディスクトレイオープン
  2. ディスク トレイが閉じています - メディアがありません
  3. ディスク トレイが閉じています - メディアがあります

MediaLoaded プロパティは、ケース 2 (False) および 3 (True) で役立ちます

于 2011-06-14T13:22:52.700 に答える
1

IOCTL_DISK_GET_LENGTH_INFOが役立つ場合があります。

于 2011-06-14T11:15:04.897 に答える