Как программно определить возможности оптического привода в Win32 - PullRequest
0 голосов
/ 18 сентября 2008

Я пытаюсь создать инструмент развертывания, который будет устанавливать программное обеспечение на основе оборудования, найденного в системе. Мне бы хотелось, чтобы инструмент мог определить, является ли оптический привод записывающим устройством (чтобы определить, должно ли быть установлено программное обеспечение для записи) или может читать DVD-диски (чтобы определить, должен ли быть установлен проигрыватель). Я попытался использовать следующий код

strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")
Set colItems = objWMIService.ExecQuery("Select * from Win32_CDROMDrive")
For Each objItem in colItems
    Wscript.Echo "MediaType: " & objItem.MediaType
Next

но он всегда отвечает CD-ROM

Ответы [ 2 ]

1 голос
/ 18 сентября 2008

Вы можете использовать WMI для перечисления того, что Windows знает о диске; получите экземпляр Win32_DiskDrive, из которого вы сможете получить информацию Win32_PhysicalMedia для физического носителя, используемого дисководом; свойство MediaType , чтобы узнать, какие носители он использует (CD, CDRW, DVD, DVDRW и т. д. и т. д.).

0 голосов
/ 18 сентября 2008

SDK платформы - IDiscMaster :: EnumDiscRecorders (XP / 2003)

DirectX и DirectShow имеют расширенные интерфейсы для работы с DVD

В противном случае перечислите дисководы и попробуйте запустить DeviceIonControlCode, который поддерживает извлечение информации о типе.

Удачи

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...