AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi Zusätzliche Möglichkeit zum Öffnen einer Datei im Explorer
Thema durchsuchen
Ansicht
Themen-Optionen

Zusätzliche Möglichkeit zum Öffnen einer Datei im Explorer

Ein Thema von manfred23 · begonnen am 3. Sep 2008 · letzter Beitrag vom 5. Sep 2008
Antwort Antwort
manfred23

Registriert seit: 29. Aug 2008
Ort: Nürnberg
9 Beiträge
 
Delphi 6 Enterprise
 
#1

Lösung gefunden

  Alt 5. Sep 2008, 09:41
Geschafft,

vielen Dank ans DP-Team, in der Code-Library unter Datei mit Programm via Popupmenü in Windows öffnen
http://<br /> <img src="styles/elis...with</a><br />
fand ich die Lösung.

Hierzu noch eine Anmerkung.
Man kann nicht immer davon ausgehen, daß eine z.B. ".txt" Dateiextension auch zu einem "txtfile" Dateityp gehört.
Ich denke da an .bmp das mit Paint.Document verknüpft wurde, oder jeder, der IrfanView verwendet und es mit
Fileextensionen verknüpft hat, kennt die zahllosen Einträge IRFANVIEW.bmp, ... usw.

Deshalb mein Vorschlag, vor dem Aufruf von
Delphi-Quellcode:
procedure AddOpenEntry(filetype, registryname, popupname, OpenWith: String);
{bzw.}
procedure DeleteOpenEntry(filetype, registryname: String);
{findet man beide unter obiger URL}
das erst mal prüfen.

Delphi-Quellcode:
procedure My_AddOpenEntry;
var fExt, fType : string;
    Reg: TRegistry;
begin
{liefert zum obligatorischen ".txt" das richtige d.h. eingetragene "txtfile"}
fExt:='.txt';
fType:='';
Reg:=TRegistry.Create;
try Reg.RootKey:=HKEY_CLASSES_ROOT;
    if Reg.OpenKeyReadOnly(fExt) then fType:=Reg.ReadString('');
    Reg.CloseKey;
finally
    Reg.Free;
end;

{zum Hinzufügen ins Explorer PopupMenü}
{wenn die Extension fExt nicht gefunden wurde, wird nichts "reingehängt"}
if (fType <> '') then
    AddOpenEntry(fType,
                 ExtractFileName(Application.ExeName), {*1*, muß identisch sein mit *2*}
                 'Öffnen mit meiner Anwendung',
                 Application.Exename);

{oder zum Herausnehmen aus dem Explorer PopupMenü}
{wenn die Extension fExt nicht gefunden wurde, wird nichts "rausgenommen"}
if (fType <> '') then
    DeleteOpenEntry(fType,
                    ExtractFileName(Application.ExeName)); {*2*, muß identisch sein mit *1*}

end;
Wichtig, zu guter letzt, das Programm muß den Parameter auslesen können, um auf das ausgewählte
zu öffnende File im Explorer via PopupMenü reagieren zu können. Sinnigerweise beim Starten des
Programms aka Formulars.

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i : integer;
    sfn : string[255]; {SelectedFileName}
begin
sfn:=Paramstr(1); {das klappt mit der Datei "Ausgewählt.txt"}
for i:=2 to ParamCount do sfn:=sfn+' '+Paramstr(i); {und jetzt auch mit Datei "Ausgewählt zum Öffnen.txt"}

{... hier steht dann Euer Code}

end;
Und tschüß.
  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 08:19 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