AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Fileviewer, Vorgehensweise windowsseitig
Thema durchsuchen
Ansicht
Themen-Optionen

Fileviewer, Vorgehensweise windowsseitig

Ein Thema von Medium · begonnen am 15. Feb 2011 · letzter Beitrag vom 16. Feb 2011
Antwort Antwort
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
WM_CLOSE

Registriert seit: 12. Mai 2010
Ort: königsbronn
398 Beiträge
 
RAD-Studio 2009 Pro
 
#2

AW: Fileviewer, Vorgehensweise windowsseitig

  Alt 15. Feb 2011, 19:02
Du könntest das Standartprogramm über die Registry auslesen
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.625 Beiträge
 
Delphi 12 Athens
 
#3

AW: Fileviewer, Vorgehensweise windowsseitig

  Alt 16. Feb 2011, 09:22
Oder per MSDN-Library durchsuchenFindExecutable.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#4

AW: Fileviewer, Vorgehensweise windowsseitig

  Alt 16. Feb 2011, 10:21
Gibt es unter Windows 7 noch die Wininit.ini?

Wenn ja, dort ein "NUL=c:\temp\meinedateim.tmp" rein und die temporäre Datei wird beim nächsten Boot gelöscht.

PS zu 3): Bei ShellExecute reicht es ja, wenn die (temporäre) Datei die richtige Dateiendung hat. Dann wird bei Aufruf der Datei automatisch die verknüpfte Anwendung ausgeführt bzw. wenn es keine Verknüpfung gibt, der Auswahldialog angezeigt.

Geändert von Satty67 (16. Feb 2011 um 11:40 Uhr)
  Mit Zitat antworten Zitat
Morphie

Registriert seit: 27. Apr 2008
Ort: Rahden
630 Beiträge
 
#5

AW: Fileviewer, Vorgehensweise windowsseitig

  Alt 16. Feb 2011, 12:08
Vielleicht hilft dir ja dieser Link?

http://swissdelphicenter.ch/de/showcode.php?id=93
  Mit Zitat antworten Zitat
Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#6

AW: Fileviewer, Vorgehensweise windowsseitig

  Alt 16. Feb 2011, 12:14
Was ist, wenn der gestartete Prozess die Datei selbst wieder an einen anderen Prozess weitergibt und sich beendet? (Also z.B. soffice.exe -> writer.exe)

Bin mir nicht sicher, ob sowas oft vorkommt, aber könnte eine unklare Situation entstehen.
  Mit Zitat antworten Zitat
Antwort Antwort


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 09:56 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