Подтвердить что ты не робот

С# Как определить, открыт ли лоток для дисков DVD?

У меня есть приложение для чтения и записи DVD на С#. Я хочу иметь возможность обнаружить разницу между пустым диском (без диска) и открытым диском.

Изменить: после еще нескольких поисковых запросов, я думаю, что лучшее описание проблемы: " Я хочу получить доступ к состоянию лотка диска - открывать или закрывать"

Я могу использовать

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

чтобы найти все диски dvd в системе, и свойства скажут мне, есть ли диск в диске. Access свойство говорит мне, есть ли пустой диск.

Но Access имеет значение null, когда диск открыт, и когда диск закрыт и пуст. И я не вижу другого свойства, которое изменяется, когда диск открывается или закрывается.

Кто-нибудь знает способ отличить открытый диск от закрытого и пустого диска?

Я использую Win7, но в идеале это решение будет работать и на XP, и на Vista.

4b9b3361

Ответ 1

Свойство MediaLoaded (Win32_CDROMDrive) сообщит вам, загружен ли диск. Я немного смущен тем, что вы ищете:

  • открыть дисковый лоток
  • лоток для диска закрыт - нет носителя
  • лоток для диска закрыт - имеется носитель

Свойство MediaLoaded поможет в случае 2 (False) и 3 (True)