Ich versuche schon die ganze Zeit ein Programm zu schreiben, dass mir auf Knopfdruck mein Cd-Rom-Laufwerk öffnen kann.
Ich habe im Forum gesucht und bin auf den Befehl "os.system("eject")" gestoßen. Ich habe os importiert und den Befehl ausprobiert. Es öffnet sich kurz ein schwarzes Fenster und mehr passiert nicht. Kann mir jemand sagen, was ich falsch mache, oder änder muss?
Danke schon mal!
ps. ich nutze python 2.2.5
Probleme mit "Cd-Ejecten"
Da hast du dein Problem. os.system() führt Kommandos auf Betriebsystemebene aus, d.h. es macht das Gleiche, wie wenn du den Befehl in die cmd oder Shell eintippst. Windows ist aber nicht in der Lage, ein CD Laufwerk mit einem cmd Befehl zu öffnen. Der Befehl, den du einsetzen möchtest, funktioniert daher nur auf UNIX Systemen wie Linux.
Ich bin selbst an so einem Programm interessiert und suche auch nach einer Möglichkeit ein CD Laufwerk unter Win XP zu öffnen, habe aber auch noch keine brauchbare Lösung gefunden.
Ich bin selbst an so einem Programm interessiert und suche auch nach einer Möglichkeit ein CD Laufwerk unter Win XP zu öffnen, habe aber auch noch keine brauchbare Lösung gefunden.
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Wie wärs mit dieser Lösung? (Übringens, zweiter Google-Treffer mit den Suchwörtern Win32 API eject cd)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ich hab dieses script einfach mal ganz naiv kopiert und ausgeführt. er sagt aber da sind syntax-fehler drin, die ich auch sehe..aber was muss ich machen, damit es läuft?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Die Syntax-Fehler korrigieren?lordmyder hat geschrieben:da sind syntax-fehler drin, die ich auch sehe..aber was muss ich machen, damit es läuft?
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
ich bin net so fit im programmieren, und ich weiß net was ich da machen muss. Da stehen so sachen drin wie:
h =3D win32file.Cre...
Klar das er wegen 3D win meckert, aber was mach ich, damit er das nicht mehr tut? einfach wegmachen geht net, und sonst weiß ich nix...
h =3D win32file.Cre...
Klar das er wegen 3D win meckert, aber was mach ich, damit er das nicht mehr tut? einfach wegmachen geht net, und sonst weiß ich nix...
'=3D' ist ein Gleicheitszeichen als "quoted printable" kodiert. Also einfach mal alle '=3D' durch '=' ersetzen.
Ich hab den Code mal ein bischen ausgebessert, da er net gefunzt hat:
Ich finde das hier allerdings besser!
Code: Alles auswählen
import sys
import win32file
from win32con import *
drive ='E:' #Je nachdem welcher Buchstabe das zu öffnente Laufwerk hat
if len(drive) !=2 or drive[1] !=':':
print >>sys.stderr, "Invalid drive letter", drive
h =win32file.CreateFile(r'\\.\\' + drive, GENERIC_READ, FILE_SHARE_READ, None, OPEN_EXISTING, 0, 0)
n =win32file.DeviceIoControl(h,0x002d4808, "", 0)
win32file.CloseHandle(h)
mfg
Thomas :-)
Thomas :-)
- birkenfeld
- Python-Forum Veteran
- Beiträge: 1603
- Registriert: Montag 20. März 2006, 15:29
- Wohnort: Die aufstrebende Universitätsstadt bei München
Hatten wir hier nicht mal die "Rechtschreibwoche"?Python Master 47 hat geschrieben:Ich hab den Code mal ein bischen ausgebessert, da er net gefunzt hat
Können wir bitte jetzt eine "Woche gegen hirnlose Abkürzungen" starten?
-
- Python-Forum Veteran
- Beiträge: 16025
- Registriert: Freitag 20. Juni 2003, 16:30
- Kontaktdaten:
Ja, gerne. Da steuere ich gleich mal welche bei:birkenfeld hat geschrieben:Können wir bitte jetzt eine "Woche gegen hirnlose Abkürzungen" starten?
- funzen
- M$
- Windoof (+ etliche andere kindische Verunglimpfungen)
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Ok ist gut, dann unterdrücke ich meine Umgangssprachebirkenfeld hat geschrieben:Hatten wir hier nicht mal die "Rechtschreibwoche"?Python Master 47 hat geschrieben:Ich hab den Code mal ein bischen ausgebessert, da er net gefunzt hat
Können wir bitte jetzt eine "Woche gegen hirnlose Abkürzungen" starten?
Obwohl ich das eigentlich immer in Foren mache.
Liegt wohl daran, dass ich gestern 3h lang mit Freunden gechattet hab und dann hier gepostet habe.
mfg
Thomas :-)
Thomas :-)