Question

Utilisation de la bibliothèque WMI Windows, comment puis-je éjecter le CD ROM monté dans un spécifique lecteur CD / DVD?

Je demande des sources de documents ou des exemples WMI depuis que je suis en utilisant la bibliothèque wmi.py sur Python.

Il serait bien si la solution satisfait ordinateur Windows que Windows 2000 nouvelles et ayant plusieurs CD-ROM. (À savoir j'ai D: F: les lecteurs et les deux sont des lecteurs de CD-ROM je pourrais vouloir éjecter cd F:.. Spécifique)

recherché sur le net, mais n'a pas pu trouver quoi que ce soit pertinent. La dernière solution doit être d'avoir binaires 3ème partie et l'exécution de la coquille.

Était-ce utile?

La solution

Vous pouvez utiliser ctypes .

import ctypes

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

Mise à jour:

Si vous avez plus d'un lecteur, vous pouvez utiliser commande d'ouverture de pour initialiser un dispositif spécifique avant d'appeler la fonction ci-dessus. Par exemple (non testé).

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)

De plus, consultez la documentation sur la façon de vérifier les valeurs de retour

Autres conseils

WMI lui-même ne fournit pas de moyens pour éjecter les lecteurs de CD / DVD. Il sont d'autres solutions qui impliquent cependant, en utilisant les fonctions API de Windows, par exemple:

  • Utilisation de la fonction mciSendString . Ne peut pas vous aider avec le code Python, mais voici l'exemple C # pour vous aider à l'idée:

    mciSendString("open f: type cdaudio alias cdrom", null, 0, IntPtr.Zero);
    mciSendString("set cdrom door open", null, 0, IntPtr.Zero);
    
  • Utilisation de la fonction DeviceIOControl . Un exemple (également en C #) est ici .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top