Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi autom. Verarbeitung einer angeklickten Datei im eigenen Prog (https://www.delphipraxis.net/23202-autom-verarbeitung-einer-angeklickten-datei-im-eigenen-prog.html)

isocam 30. Mai 2004 20:28


autom. Verarbeitung einer angeklickten Datei im eigenen Prog
 
Hallo,

Ich habe mir bereits einen eigenen Bildbetrachter programmiert.

Ich möchte, dass durch Anklicken einer Datei (hier Bilddatei) mein Programm automatisch gestartet und das Bild in meinem Bildbetrachter angezeigt wird.
Wie lautet das Stichwort unter dem ich recherchieren muss?

Generell muss man doch unter "öffnen mit" das Programm auswählen, mit dem man eine Datei verarbeiten will. Aber da gehört sicher noch etwas in den Programmcode.

Christian Seehase 30. Mai 2004 20:55

Re: autom. Verarbeitung einer angeklickten Datei im eigenen
 
Moin isocam,

such' hier mal nach Hier im Forum suchenDateityp registrieren oder [dp]Dateityp verknüpfen[/dp].
Da müsstest Du diverse Fundstellen bekommen, denn das Thema hatten wir schon häufiger.

Weiterer möglicher Suchbegriff [dp]"*Shell\open\command*"[/dp]

Stanlay Hanks 30. Mai 2004 21:12

Re: autom. Verarbeitung einer angeklickten Datei im eigenen
 
Wenn du dann deinen Dateityp (Oder eben in diesem Fall, die Bilddateiendungen) auf dein Programm registriert hast, musst du noch über "ParamStr(1)" den übergebenen Dateinamen abfragen. Das ist dann der Name der Datei, auf die geklickt wurde.

Man liest sich, Stanlay :hi:

Nicodius 30. Mai 2004 21:16

Re: autom. Verarbeitung einer angeklickten Datei im eigenen
 
Delphi-Quellcode:
function TForm1.InstallExt(Extension, ExtDescription, FileDescription,
                    OpenWith, ParamString: String; IconIndex: Integer): Boolean;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    with Reg do
      begin
        RootKey := HKEY_CLASSES_ROOT;
        OpenKey(Extension, True);
        WriteString('', ExtDescription);
        OpenKey('\' + ExtDescription, True);
        WriteString('', FileDescription);
        OpenKey('DefaultIcon', True);
        WriteString('', OpenWith + ','+IntToStr(IconIndex));
        OpenKey('\' + ExtDescription + '\Shell\Open\Command', True);
        WriteString('', '"' + OpenWith + '" "' + ParamString + '"');
       end;
   Result := True;
  except
   Result := False;
  end;
  Reg.Free;
end;

function TForm1.UnInstallExt(Extension, ExtDescription: String): Boolean;
var
  Reg: TRegistry;
begin
  Reg := TRegistry.Create;
  try
    with Reg do
     begin
      RootKey := HKEY_CLASSES_ROOT;
      DeleteKey(Extension);
      DeleteKey('\' + ExtDescription);
     end;
   Result := True;
  except
   Result := False;
  end;
  Reg.Free;
end;

so mach ichs für mein EHT

... --> das InstallEx ist zum anlegen des reg-schlüssels, uninstallex zum entfernen des Schlüssels

bitteschön viel spass :D

Christian Seehase 30. Mai 2004 21:19

Re: autom. Verarbeitung einer angeklickten Datei im eigenen
 
Moin Nicodius,

das solltest Du aber noch einmal heftigst überarbeiten ;-)

Keine Resourcenschutzblöcke, kein CloseKey, keine Prüfung der Parameter auf Gültigkeit.

Nicodius 30. Mai 2004 21:20

Re: autom. Verarbeitung einer angeklickten Datei im eigenen
 
ich ahsse das free machen das vergess ich imemr


@matze mein lieblings Codlib manager hat gsagt das dass das Problem war das MEI Ncode nicht in die lib kam :cry: :roll: :mrgreen: :mrgreen:

Nicodius 30. Mai 2004 21:21

Re: autom. Verarbeitung einer angeklickten Datei im eigenen
 
aber so hab ich ihn von hier her genommen fällt mir grad auf :?

isocam 31. Mai 2004 17:16

Re: autom. Verarbeitung einer angeklickten Datei im eigenen
 
Danke! Ich denke das wird mir gut weiterhelfen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:00 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