Seite 2 von 2
Verfasst: 23.09.2005 18:27
von Svking
hab sie gefunden, aber wenn ich das mache:
Code: Alles auswählen
If KeyboardPushed(#PB_Key_Down)
EjectCDAudio(1)
EndIf
dann meint er trotzdem immer da sein ein fehler
Verfasst: 23.09.2005 18:42
von hardfalcon
1.) Welcher Fehler ist das, den er meldet? Ein bisschen ernsthafte Mithilfe wäre wohl angebracht, schließlich willst DU ja ein Programm...
2.) Ich versuche jetzt mal einfach, das ganze OHNE Fehlermeldung zu erraten, und tipe einfach darauf, dass du InitCDAudio() und eventuell noch UseCDAudio() vergessen hast.
Jetzt musst du aber aufpasssen, wenn du mehrere CD-Laufwerke hast:
InitCDAudio() gibt die Anzahl der LAufwerke wieder. Bei einem Laufwerk z.B. 1.
UseCDAudio(X) nimmt das Laufwerk Nummer X als aktuelles Laufwerk. Wenn du das erste Laufwerk verwenden willst, musst du dann jedoch nicht 1, sondern 0 als "X" verwenden.
Ansonsten: viel Spaß beim programmieren, und wenn dein Programm fertig ist, kannst du es ja gerne mitsamt Quellcode im Showcase auf PureArea.net und hier im Forum zur Verfügung stellen. So kannst du dich für die Hilfe der PB-Community revanchieren.

Verfasst: 23.09.2005 18:49
von ts-soft
Hab hier noch einen Beispielcode gefunden:
Code: Alles auswählen
#IOCTL_STORAGE_EJECT_MEDIA = $2D4808
#IOCTL_STORAGE_LOAD_MEDIA = $2D480C
Procedure EjectCD(LW.s)
Protected hLwStatus.l
hLwStatus = CreateFile_("\\.\"+LW,#GENERIC_READ|#GENERIC_WRITE, 0, 0, #OPEN_EXISTING, 0, 0)
If hLwStatus
DeviceIoControl_(hLwStatus,#IOCTL_STORAGE_EJECT_MEDIA,0,0,0,0,@Ret,0)
CloseHandle_(hLwStatus)
EndIf
EndProcedure
Procedure.s GetFirstCDROM()
While GetDriveType_(Chr(I + 68) + ":\") <> #DRIVE_CDROM And I < 23
I = I + 1
Wend
ProcedureReturn Chr(I + 68) + ":"
EndProcedure
Select MessageRequester("Computer-Administrator", "Lieber Windows-Nutzer," + Chr(10) + "" + Chr(10) + "benötigst Du einen Bierhalter ?", #MB_YESNO|#MB_ICONQUESTION)
Case #IDYES
EjectCD(GetFirstCDROM())
MessageRequester("Computer-Administrator", "Dein Wunsch sei mir Befehl!", #MB_OK|#MB_ICONINFORMATION)
Case #IDNO
End
EndSelect

Verfasst: 23.09.2005 18:52
von hardfalcon
Ich denke mal, DIESER Code ist noch etwas zu kompliziert für Svking...

Verfasst: 23.09.2005 18:54
von Batze
Aber lustig.

Verfasst: 23.09.2005 18:59
von hardfalcon
Stimmt. Aber das kann amn auch noch lustiger (und einfacher) gestalten:
Code: Alles auswählen
MessageRequester("Fantaisie Bierdosenzerquetscher XP","Vielen Dank, dass Sie sich für Fantaisie Bierdosenzerquetscher XP entschieden haben!"+Chr(10)+"Wir weisen Sie darauf hin, dass Sie dieses Programm während 30 Tagen aktivieren müssen, damit Sie es weiter nutzen können.")
Drives.l = InitCDAudio()
If Drives
Repeat
UseCDAudio(Random(Drives-1))
EjectCDAudio(Random(1))
Delay(1)
ForEver
EndIf
Bitte nicht ohne Debugger laufen lassen!

hi
Verfasst: 23.09.2005 19:54
von roherter
Vileicht solltest du mal deinen Code komplet posten,weil wenn das alles an ist was du geschrieben hast dann ist klar das es nicht geht!
Du solltest uns auch schon deinen Fehler genauer erleutern sonst kann dir hier keiner sagen worans bei dir liegt!
Verfasst: 23.09.2005 20:03
von ts-soft
CD Schublade öffnen geht noch einfacher so: