Einzelnen Beitrag anzeigen

Eagleeye

Registriert seit: 26. Aug 2011
3 Beiträge
 
Delphi XE Professional
 
#4

AW: Autostart.exe beenden wenn CD ausgeworfen wird

  Alt 3. Jan 2012, 10:26
Erstmal allen ein frohes neues Jahr und danke für die schnelle Hilfe.

Nur so eine Idee: könntest Du nicht mit Code in der Art
Delphi-Quellcode:
var
  ErrMode: UINT;
begin
  ErrMode := SetErrorMode(SEM_FAILCRITICALERRORS);
  try
    //arbeiten
  finally
    SetErrorMode(ErrMode);
  end;
die System-Fehlermeldungen temporär an Dein Programm weiterleiten und anschließend den alten Zustand wiederherstellen?
Hab einfach mal das Form-Create wie folgt angepasst:
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  WebBrowser1.Navigate(ExtractFilePath(Application.ExeName) + 'index.htm');
  SetErrorMode(SEM_FAILCRITICALERRORS);
end;
Die Fehlermeldung kommt jetzt nicht mehr und das Programm terminiert vernüftig.

Ich habs ins Form-Create eingefügt, da ich ja nicht genau weiß wann und wo (in welcher Routine) die Windows-Meldung hineinplatzt, aber ich vermute das meine Methode TForm1.WMDeviceChange(var Msg: TMessage) nicht auf das nicht bereite CD/DVD-Laufwerk zugreift.
Ich werd aber gleich mal den Aufruf von SetErrorMode() nach TForm1.WMDeviceChange verschieben und testen.

MfG Eagleeye
  Mit Zitat antworten Zitat