AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Autorun-Programm beenden wenn CD ausgeworfen
Thema durchsuchen
Ansicht
Themen-Optionen

Autorun-Programm beenden wenn CD ausgeworfen

Ein Thema von Martin K · begonnen am 22. Dez 2005 · letzter Beitrag vom 22. Dez 2005
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#1

Autorun-Programm beenden wenn CD ausgeworfen

  Alt 22. Dez 2005, 12:36
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?
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: Autorun-Programm beenden wenn CD ausgeworfen

  Alt 22. Dez 2005, 15:58
Gibt's da evtl. was mit TMsg.Message?
Irgendein Befehl von Windows?
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
ichbins

Registriert seit: 9. Jul 2005
Ort: Hohenaltheim
1.001 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Autorun-Programm beenden wenn CD ausgeworfen

  Alt 22. Dez 2005, 16:05
Überprüfe einfach mit einem Timer, ob eine bestimmte Datei auf der CD existiert. Wenn nein -> beenden
Michael Enßlin
Ich, der ich weiß, mir einzubilden, dass ich weiß, nichts zu wissen, weiß, dass ich nichts weiß.
Sokrates
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: Autorun-Programm beenden wenn CD ausgeworfen

  Alt 22. Dez 2005, 16:11
@ichbins:

Was glaubst du wohl, wie ich das hier meinte:
Zitat von Martin K:
Gibt es da noch eine andere Möglichkeit, außer mit einem Timer ständig zu überprüfen, ob die CD noch drin ist?
Ob die CD noch drin ist hätte ich wohl dann auch so überprüft...

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...
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: Autorun-Programm beenden wenn CD ausgeworfen

  Alt 22. Dez 2005, 16:23
Ich hatte mal einen Bildschirmschoner programmiert, den hatte ich so beendet:
Delphi-Quellcode:
//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;
Jetzt bräuchte ich eigentlich nur den Befehl von Windows, ob die CD ausgeworfen wurde.
Also irgendwas mit:
If Msg.Message=WM_CDAusgeworfen then Close; Kennt sich jemand damit aus ?
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: Autorun-Programm beenden wenn CD ausgeworfen

  Alt 22. Dez 2005, 16:45
CDEvents
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: Autorun-Programm beenden wenn CD ausgeworfen

  Alt 22. Dez 2005, 16:49
@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
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: Autorun-Programm beenden wenn CD ausgeworfen

  Alt 22. Dez 2005, 16:53
Zitat von Martin K:
@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
Schau dir halt die Sourcen an. Das Auswerfen der CD-Rom wird über MSDN-Library durchsuchenWM_DEVICECHANGE gesteuert
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Autorun-Programm beenden wenn CD ausgeworfen

  Alt 22. Dez 2005, 17:01
Dann müsste das also so gehen?
Delphi-Quellcode:
procedure TForm1.Beenden(var Msg: TMsg; var Handled: Boolean);
begin
  If (Msg.Message=WM_DEVICECHANGE) and (not FileExists(Application.ExeName)) then Close;
end;
Werd's gleich mal testen...
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Benutzerbild von Martin K
Martin K

Registriert seit: 20. Okt 2005
919 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: Autorun-Programm beenden wenn CD ausgeworfen

  Alt 22. Dez 2005, 17:05
Das geht leider nicht:
Zitat:
[Fehler] Unit1.pas(893): Undefinierter Bezeichner: 'WM_DEVICECHANGE'
[Warnung] Unit1.pas(893): Vorzeichenbehaftete und -lose Typen werden verglichen - beide Operanden werden erweitert
Wo könnte der Fehler liegen?
Mit den Menschen ist es wie mit Computern -
es gibt Nullen und Einsen.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:19 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz