Winapi 如何以编程方式确定Win32中光盘驱动器的功能

Winapi 如何以编程方式确定Win32中光盘驱动器的功能,winapi,dvd,optical-drive,Winapi,Dvd,Optical Drive,我正在尝试创建一个部署工具,该工具将根据系统上的硬件安装软件。我希望该工具能够确定光盘驱动器是否为写入程序(以确定是否应安装刻录软件)或是否可以读取DVD(以确定是否应安装播放机)。我尝试使用以下代码 strComputer = "." Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2") Set colItems = objWMIService.ExecQuery("Select *

我正在尝试创建一个部署工具,该工具将根据系统上的硬件安装软件。我希望该工具能够确定光盘驱动器是否为写入程序(以确定是否应安装刻录软件)或是否可以读取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来响应

您可以使用WMI来枚举Windows对驱动器的了解;获取您应该能够从中获取驱动器使用的物理介质信息的实例;获取它使用的媒体(CD、CDRW、DVD、DVD RW等)的属性。

平台SDK-IDiscMaster::EnumDiscRecorders(XP/2003)

DirectX和DirectShow具有广泛的接口来处理DVD

否则,请枚举磁盘驱动器,并尝试触发支持扩展类型信息的DeviceOnControl代码

祝你好运