【问题标题】:How can I programmatically determine the capabilities of an optical drive in Win32如何以编程方式确定 Win32 中光驱的功能
【发布时间】:2010-09-10 12:59:16
【问题描述】:

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

【问题讨论】:

    标签: winapi dvd optical-drive


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

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

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

      否则枚举磁盘驱动器并尝试触发支持提取类型信息的 DeviceIonControlCode。

      祝你好运

      【讨论】:

        猜你喜欢
        • 2010-10-02
        • 1970-01-01
        • 2019-12-22
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-03-05
        • 1970-01-01
        • 2011-01-23
        相关资源
        最近更新 更多