Einzelnen Beitrag anzeigen

Medium

Registriert seit: 23. Jan 2008
3.686 Beiträge
 
Delphi 2007 Enterprise
 
#1

Fileviewer, Vorgehensweise windowsseitig

  Alt 15. Feb 2011, 18:56
Ahoi!

Ich baue in einer Anwendung, die Dateien in einer DB speichert, einen Dateibetrachter. Ablauf soll sein:
1) User klickt auf Eintrag im DBGrid
2) Datei wird unter ihrem ursprünglichen Namen im Windows-Temp Ordner erstellt
3) Diese Datei soll mit dem ihrem Typ zugeordneten Standardprogramm geöffnet werden
4) Sobald dieses geschlossen wird, Temp-File löschen

Die Punkte 3 und 4 sind mir noch nicht ganz klar. Mit ShellExecute kann ich problemlos die Dateien so öffnen, und bekomme ein hInstance zurück. Ich war aber in meiner Suche im MSDN nicht erfolgreich, eine Methode zu finden, mit der ich via dieses Handles nachschauen kann, ob der Prozess noch läuft. Noch lieber hätte ich ja eine Message oder einen Callback wenn der Prozess geschlossen wird, aber das ist fürchte ich eher Utopie das als vorhandene Möglichkeit zu vermuten.
Bei CreateProcess bekomme ich ein paar mehr Dinge als dieses eine Hanlde an die Hand, konnte mir aber keinen Reim darauf machen, wie ich damit ein non-Executable mit seiner Standardassoziation öffne.
Wichtig ist halt, dass ich irgendwie mitbekomme, wann das so geöffnete Programm wieder geschlossen wird. Ich vermute nämlich mal nicht, dass es gängige Praxis ist, seine Temp-Files einfach liegen zu lassen =)

Sowas hat doch bestimmt einer von euch schon mal gebaut, und kann mir nen heissen Tipp geben! Danke schon mal im Voraus,
Medium
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat