![]() |
Autorun-Programm beenden wenn CD ausgeworfen
Hi Leute,
ich habe ein Programm geschrieben, dass mit autorun automatisch gestartet wird, wenn die CD eingelegt wird. Wie kann es machen, dass das Programm auch wieder geschlossen wird, wenn die CD ausgeworfen wird? Gibt es da noch eine andere Möglichkeit, außer mit einem Timer ständig zu überprüfen, ob die CD noch drin ist? |
Re: Autorun-Programm beenden wenn CD ausgeworfen
Gibt's da evtl. was mit TMsg.Message?
Irgendein Befehl von Windows? |
Re: Autorun-Programm beenden wenn CD ausgeworfen
Überprüfe einfach mit einem Timer, ob eine bestimmte Datei auf der CD existiert. Wenn nein -> beenden
|
Re: Autorun-Programm beenden wenn CD ausgeworfen
@ichbins:
Was glaubst du wohl, wie ich das hier meinte: Zitat:
Aber ich meinte eine andere Möglichkeit, ohne Timer. Gibt es da nicht von Windows einen Befehl, der gesendet wird, wenn sich die CD-Schublade öffnet ? Dann müsste ich noch in mein Programm einbinden, dass es beendet werden soll, wenn es diesen Befehl empfängt. (Da werden doch ständig von Windows irgend welche Befehle gesendet...) Wenn ein Ordner von einer CD geöffnet ist und ich die CD auswerfe, dann klappt das doch auch... :gruebel: |
Re: Autorun-Programm beenden wenn CD ausgeworfen
Ich hatte mal einen Bildschirmschoner programmiert, den hatte ich so beendet:
Delphi-Quellcode:
Jetzt bräuchte ich eigentlich nur den Befehl von Windows, ob die CD ausgeworfen wurde.
//global:
var i: Byte; //bei FormCreate: Application.OnMessage:=Beenden; i:=0; procedure TForm1.Beenden(var Msg: TMsg; var Handled: Boolean); begin If Msg.Message=WM_MouseMove then Inc(i) else If (Msg.Message=WM_KeyDown) or (Msg.Message=WM_Activate) or (Msg.Message=WM_ActivateApp) or (Msg.Message=WM_NCActivate) then i:=99; If i>15 then Close; end; Also irgendwas mit:
Delphi-Quellcode:
Kennt sich jemand damit aus ?
If Msg.Message=WM_CDAusgeworfen then Close;
|
Re: Autorun-Programm beenden wenn CD ausgeworfen
|
Re: Autorun-Programm beenden wenn CD ausgeworfen
@Bernhard Geyer:
Nett, dass du mir einen Link schickst. So eine Seite mit einer Übersicht aller Windows Messages wäre auch net schlecht... Aber leider gibt's die Seite nicht :( |
Re: Autorun-Programm beenden wenn CD ausgeworfen
Zitat:
![]() |
Re: Autorun-Programm beenden wenn CD ausgeworfen
Dann müsste das also so gehen?
Delphi-Quellcode:
Werd's gleich mal testen...
procedure TForm1.Beenden(var Msg: TMsg; var Handled: Boolean);
begin If (Msg.Message=WM_DEVICECHANGE) and (not FileExists(Application.ExeName)) then Close; end; |
Re: Autorun-Programm beenden wenn CD ausgeworfen
Das geht leider nicht:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:36 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz