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

时间:2008-09-18 04:31:43

标签: winapi dvd optical-drive

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

答案 0 :(得分:1)

您可以使用WMI枚举Windows对驱动器的了解;获取Win32_DiskDrive实例,您应该从中获取驱动器使用的物理媒体的Win32_PhysicalMedia信息; MediaType属性,以获取它使用的媒体(CD,CDRW,DVD,DVDRW等)。

答案 1 :(得分:0)

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

DirectX和DirectShow具有广泛的接口以使用DVD

Else枚举磁盘驱动器并尝试触发支持对类型信息进行扩展的DeviceIonControlCode。

祝你好运