![]() |
Dateien öffnen und abwarten bis sie geschlossen werden
Tach ...
Der Titel is blöd, weiß! Folgendes: Ich habe ein Programm, dass Dateien in einer Datenbank verwaltet. Vorerst (bis ich eine eigenes Anzeigeprogramm geschrieben hab) habe ich mir das so gedacht, dass ich eine temporäre Datei anlege, diese öffne und sobald das Anzeigeprogramm wieder geschlossen wird, wird auch die temporäre Datei wieder gelöscht ... eben so wie es zb. die eMule Vorschau macht. Wie kann ich darüber informiert werden, dass das Anzeigeprogramm beendet wurde. Ich hoffe doch, dass das auch ohne eine blockierende Funktion möglich ist?! MfG |
Re: Dateien öffnen und abwarten bis sie geschlossen werden
Ich weiß zwar nicht genau, wie dein Programm aufgebaut ist aber... funktioniert vllt ein ondestroy???
|
Re: Dateien öffnen und abwarten bis sie geschlossen werden
Zitat:
@maynard: Stichwort CreateProcess und WaitForSingleObject:
Delphi-Quellcode:
Durch
procedure TForm1.Button1Click(Sender: TObject);
var si : TStartupInfo; pi : TProcessInformation; s : String; parameter : String; begin parameter := 'Parameter des Anzeige Programmes'; s := 'C:\Pfad\Zur\Anzeige_Anwendung.exe '+parameter; FillChar(si, SizeOf(TStartupInfo), 0); si.cb := SizeOf(TStartupInfo); if (CreateProcess(nil,PChar(s), nil, nil, False, NORMAL_PRIORITY_CLASS,nil, PChar(ExtractFilePath(s)), si, pi)) then begin WaitForSingleObject(pi.hProcess, INFINITE); CloseHandle(pi.hProcess); end; end;
Delphi-Quellcode:
wartet dein Programm nun solange, bis das andere beendet wurde. Statt INFINITE kann auch jede andere beliebige Zeit (in Millisekunden) angegeben werden).
WaitForSingleObject(pi.hProcess, INFINITE);
|
Re: Dateien öffnen und abwarten bis sie geschlossen werden
Hallo,
vielen, vielen Dank für die Erklärung von CreateProcess. Ich verwende einen leicht abgewandelten Code, da ich nicht auf das Programmende warten muss. Ich habe allerdings noch eine "Noob"-Frage. Wenn ich mein Programm, aus dem ich das andere Programm gestartet habe, beende und das andere aber weiterläuft, muss ich dann beim Closen meines Tools die Zeile
Code:
ausführen?
CloseHandle(pi.hProcess)
Vielen Dank für Deine/Eure Hilfe. Ciao Murmel |
Re: Dateien öffnen und abwarten bis sie geschlossen werden
Guck mal in der Code-Library diesbezüglich:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:49 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