Cd rom ansprechen
jo wollt mal fragen ich hab n button erstellt mit dem cammand das er das cd rom öffnen sol, nur fehlt mir der code, wie spricht man sein cd rom an mit python ??
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Hmm, mit würde da Pygame oder pywin32 einfallen. Vielleicht aber auch ein rundll oder ctypes Aufruf.
Also hier mal mein Code:
Das hat zwei mal den Effekt, dass dein(e) Laufwerke auf- und wieder zugehen.
MCI nutzt das Media Control Interface, das sicher noch etwas mehr kann, aber für diesen Zeck reicht das. Angesprochen wird es über ctypes und die winmm.dll und ist sicher noch ausbaufähig. Das WMP Beispiel nutzt den Windows Media Player >=7 und läuft per COM. Ich mag zwar den WMP nicht, aber seine API per Python und COM zu nutzen ist sehr nett.
Das WMP Beispiel habe ich von hier, das MCI von hier und hier.
Also hier mal mein Code:
Code: Alles auswählen
#!/usr/bin/env python
# -*- encoding: latin-1 -*-
def wmp():
import win32com.client
wmp = win32com.client.Dispatch("WMPlayer.OCX.7")
cdroms = wmp.cdromCollection
for drive in range(cdroms.Count):
cdroms.Item(drive).Eject()
cdroms.Item(drive).Eject()
def mci():
import ctypes
wm = ctypes.windll.WINMM
wm.mciSendStringA("Set CDAudio Door Open wait", 0, 0, 0)
wm.mciSendStringA("Set CDAudio Door Closed wait", 0, 0, 0)
mci()
wmp()
MCI nutzt das Media Control Interface, das sicher noch etwas mehr kann, aber für diesen Zeck reicht das. Angesprochen wird es über ctypes und die winmm.dll und ist sicher noch ausbaufähig. Das WMP Beispiel nutzt den Windows Media Player >=7 und läuft per COM. Ich mag zwar den WMP nicht, aber seine API per Python und COM zu nutzen ist sehr nett.
Das WMP Beispiel habe ich von hier, das MCI von hier und hier.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Das ist ein 7 Jahre alter Thread. Bist du Nekromant? Mach bitte einen neuen auf, und erzaehl, was du ueberhaupt erreichen willst. Den CD-Roms sind einfach nur wie Festplatten wenn das System sie eingebunden hat, da muss man nix machen...