使用Windows的WMI库,如何弹出CD ROM安装在特定的CD/DVD驱动器中?

由于我在Python上使用了WMI.PY库,因此我要求来自WMI文档或示例的来源。

如果解决方案比Windows 2000更新Windows计算机并且具有多CD-ROM,那就太好了。 (即我有d:f:驱动器,两者都是CD-ROM驱动器。我可能想在f:特别是弹出CD。)

在网上搜索,但找不到任何相关的东西。最后一个解决方案必须是第三方二进制文件并从外壳执行。

有帮助吗?

解决方案

您可以使用 CTYPES.

import ctypes

ctypes.windll.WINMM.mciSendStringW(u"set cdaudio door open", None, 0, None)

更新:

如果您有更多的驱动器,您可以使用 打开 命令在调用上面的功能之前初始化特定设备。例如(未测试)。

ctypes.windll.WINMM.mciSendStringW(u"open D: type cdaudio alias d_drive", None, 0, None)
ctypes.windll.WINMM.mciSendStringW(u"set d_drive door open", None, 0, None)

另外,请参阅 文档 关于如何检查返回值

其他提示

WMI本身没有提供弹出CD/DVD驱动器的手段。但是,还有其他解决方案,其中涉及使用Windows API函数,例如:

  • 使用 mciSendString 功能。无法帮助您处理Python代码,但这是可以帮助您获取想法的C#示例:

    mciSendString("open f: type cdaudio alias cdrom", null, 0, IntPtr.Zero);
    mciSendString("set cdrom door open", null, 0, IntPtr.Zero);
    
  • 使用 DeviceIOControl 功能。一个例子(也在C#中)是 这里.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top