![]() |
Datei öffnen mit
Hallo DP,
Ich habe ein Problem. Mit shellexecute kann man Dateien öffnen, ich will jedoch eine Datei nicht mit dem Standartprogramm öffnen, sondern mit einem ganz Speziellen. Im Windows geht das ganz einfach mit Rechtsklick auf die Datei + "öffnen mit". Gibt es eine Möglichkeit dies auch mit Delphi hinzukriegen? Pfad der exe des Programms welche die Datei öffnen soll habe ich. Die shellexecute Funktion habe ich schon studiert mit der scheint es nicht möglich zu sein. Danke im Vorraus :) |
Re: Datei öffnen mit
du brauchst die anwendung selbst und dieser musst du dann die zu öffnende datei als pfad angeben! ich weiß leider nicht genau, wie es beim firefox geht, aber das hier sollte als anschauliches beispiel genügen (keine gewähr, dass das funktioniert):
c:\programme\mozilla firefox\firefox.exe -c:\test.html somit musst du du firefox mit dem parameter "c:\test.html" aufrufen und alles andere geschieht von alleine. handelt es sich um ein spezielles programm, so kann es sein, dass etwas in der doku dazu steht. |
Re: Datei öffnen mit
Versuch es mal mit
Delphi-Quellcode:
[edit] Eine Klammer zuviel [/edit]
ShellExecute(Handle,'open',PChar(<Pfad zum Programm>),PChar(<Pfad zur zu öffnenden Datei>),nil,SW_SHOW);
|
Re: Datei öffnen mit
Funktioniert beides nicht.
Bei DeddyH's Lösung öffnet es sich zwar, aber wieder nur mit dem Standartprogramm. Bei s.h.a.r.k's Lösung öffnet sich garnichts, wobei ich die Idee gut fand. Um nochmal mein vorhaben zu beschreiben, ich versuche ein skript mit der endung .ahk mit der exe Autohotkey.exe zu starten. Wenn ich die exe von vorneherein als Standart benutze geht das auch wunderbar, nur will ich das Programm auch an Freunde schicken und ich hab keine Lust ihnen zu erklären, was sie zu tun haben bevor sie mein Programm richtig nutzen können. |
Re: Datei öffnen mit
Zeig doch mal Deinen Aufruf.
|
Re: Datei öffnen mit
Delphi-Quellcode:
procedure TForm1.Button16Click(Sender: TObject);
begin //s.h.a.r.k's Lösung ShellExecute(Application.Handle,'open',PChar('Autohotkey.exe -'+warkeysp+'\autowarkey\My_AutoWarkey_Script.ahk'),nil,PChar(warkeysp+'\Autowarkey\autohotkey'),sw_ShowNormal); //DeddyH's Lösung ShellExecute(Application.Handle,'open',PChar('My_AutoWarkey_Script.ahk'),PChar(warkeysp+'\Autowarkey\autohotkey\autohotkey.exe'),PChar(warkeysp+'\Autowarkey'),sw_ShowNormal); end; warkeysp ist eine Variable in der der Pfad steht also die Pfade stimmen mit ziemlicher Sicherheit |
Re: Datei öffnen mit
Du hast bei meiner Lösung die Parameter verwechselt: zuerst das Programm und dann die Datei.
|
Re: Datei öffnen mit
Ah okay.
Vielen Dank jetzt funktioniert es! :) |
Re: Datei öffnen mit
DeddyH's praktische Lösung entspricht zudem meiner theoretischen Lösung, nur um das etwas klarer herauszustellen :mrgreen:
|
Re: Datei öffnen mit
Jepp, nur hattest Du da ein Minuszeichen drin, das dürfte eigentlich unnötig sein :zwinker:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:33 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 by Thomas Breitkreuz