Pregunta

El uso de la biblioteca WMI de Windows', ¿cómo puedo expulsar el CD ROM montado en una determinada unidad de CD / DVD?

Estoy pidiendo para las fuentes a partir de documentos de WMI o ejemplos Desde que estoy usando la biblioteca wmi.py en Python.

Sería muy bueno si el equipo satisface solución de Windows más nuevos que Windows 2000 y que tiene los CD-ROM multi. (Es decir, I tienen D: F: unidades y ambos son unidades de CD-ROM puede ser que quiera cd de expulsión en F:.. Específicamente)

Se buscó en la red pero no pudo encontrar nada relevante. La última solución debe ser tener los binarios de 3 ª parte y ejecución de la cáscara.

¿Fue útil?

Solución

Se puede usar ctypes .

import ctypes

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

ACTUALIZACIÓN:

Si usted tiene más de una unidad, se puede utilizar para comando de apertura para inicializar un dispositivo específico antes de llamar a la función anterior. Por ejemplo (no probado).

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)

Además, consulte la documentación sobre cómo comprobar los valores de retorno

Otros consejos

WMI no proporciona medios para expulsar las unidades de CD / DVD. Hay otras soluciones sin embargo, que implican el uso de las funciones de la API de Windows, por ejemplo:

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top