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)