![]() |
Programm zu Dokument finden...
Hallo,
ich möchte ein Dokument mit dem dazu registrierten Programm öffnen. Das geht ja für gewöhnlich mit Shellexecute. Nun möchte ich jedoch noch einen weiteren Parameter für das Programm angeben. Beispiel: Powerpoint Ich habe eine Präsentation, die direkt gestartet werden soll. Also sieht die Verknüpfung ungefähr so aus: "C:\...\POWERPNT.EXE" /s "C:\...\Präsentation.ppt" so würde es funktioniert, jedoch kenne ich den Programmpfad nicht, da das Programm auch auf anderen Rechnern aufgerufen werden soll. Villeicht kann man mittels der Windows-registry den Pfad des Programms rausfinden?? Bin dankbar für jede Hilfe!! Jörn |
Re: Programm zu Dokument finden...
An dieser Stelle wäre es vermutlich klüger das Programm (MS Powerpoint) mit dem Dateipfad als Parameter aufzurufen.
Geht auch mit ShellExecute:
Delphi-Quellcode:
ShellExecute(0, 'open', PChar('powerpnt.exe'), PChar('C:\presentation.ppt'), PChar('C:\Office\'), SW_ShowNormal);
|
Re: Programm zu Dokument finden...
Das ist ja gerade mein Problem, ich weis nicht, wie der Programmpfad lautet, da der wohl immer unterschiedlich ist.
Wie bekomme ich den kompletten Programmpfad des Programmes raus, das mit den Dateien *.ppt verknüpft ist? |
Re: Programm zu Dokument finden...
Solltest du aus der Registry auslesen können HKEY_CLASSES_ROOT wo der Dateityp mit dem Porgramm verknüft ist.
|
Re: Programm zu Dokument finden...
Weist du oder irgendjemand, wie man das machen kann??
|
Re: Programm zu Dokument finden...
Mit der Klasse TRegistry, würde ich jetzt mal so ganz unbedarft sagen, näheres dazu in der Hilfe.
|
Re: Programm zu Dokument finden...
Hi!
Kann man es nicht einfach so machen?
Delphi-Quellcode:
Ciao fkerber
ShellExecute(0, 'open','C:\Dokumente und Einstellungen\Papa\Vorlagen\powerpnt.ppt',nil,nil, SW_ShowNormal);
|
Re: Programm zu Dokument finden...
Das hatte ich ja auch erst so, jedoch möchte ich dem Programm noch einen Parameter hinzufügen. Das geht nur, wenn man die .exe angibt, glaube ich.
|
Re: Programm zu Dokument finden...
Moin Hazardos,
zum einen könntest Du einfach, bezogen auf fkerbers Beispiel, mal den Parameter einfach vor den Pfad zu der Datei setzen, mit Blank abgesetzt, zum anderen kannst Du den Pfad, wenn's sein muss auch auslesen, indem Du aus HKEY_CLASSES_ROOT\<Extension der jeweiligen Datei incl. Punkt> den Standardwert ausliest z.B. in die Variable sRegType Anschliessend aus HKEY_CLASSES_ROOT\<Wert aus sRegType>\shell\open\command wieder den Standardwert auslesen, z.B. in die Variable sCommand. Fängt der Inhalt von sCommand mit einem " an, so muss Du nur das dazugehörige " finden. Alles dazwischen ist dann der Pfad zum Programm. Wenn der Inhalt von sCommand nicht mit " anfängt, so wird der Pfad durch das erste Blank in sCommand begrenzt, oder sCommand enthält schon den ganzen Pfad. |
Re: Programm zu Dokument finden...
:idea: So funktionierts...
thx @ all!!! Jörn |
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:50 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