Einzelnen Beitrag anzeigen

Benutzerbild von SimonRap
SimonRap

Registriert seit: 17. Okt 2009
Ort: Mahlow
147 Beiträge
 
Delphi 6 Personal
 
#7

Re: Mit Programm öffnen... per doppelklick

  Alt 3. Mai 2010, 18:19
ok also hab jetzt:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
if InstallExt('.SimRap', 'SimRap-Datei', 'Prog by SimonRap', ParamStr(0), '"%1"',0) then
   Showmessage('Dateiendung konnte erfolgreich registriert werden.');
end;

function tform1.InstallExt(Extension, ExtDescription, FileDescription,
OpenWith, ParamString: string; IconIndex: Integer = 0): Boolean;
var Reg: TRegistry;
begin
  Result := False;
  if Extension='then
  begin
    if Extension[1] ='.then
      Extension := '.' + Extension;
    Reg := TRegistry.Create;
    try
      Reg.RootKey := HKEY_CLASSES_ROOT;
      if Reg.OpenKey(Extension, True) then
      begin
       Reg.WriteString('', ExtDescription);
       if Reg.OpenKey('\' + ExtDescription, True) then
       begin
         Reg.WriteString('', FileDescription);
         if Reg.OpenKey('DefaultIcon', True) then
         begin
           Reg.WriteString('', Format('%s,%d', [OpenWith, IconIndex]));
           if Reg.OpenKey('\' + ExtDescription + '\Shell\Open\Command', True) then
           begin
             Reg.WriteString('', Format('"%s" "%s"', [OpenWith, ParamString]));
             Result:=True;
           end;
         end;
       end;
     end;
  finally
    Reg.Free;
  end;
  end;
end;
an sich schön und gut... aber er macht nix... als rückgabewert kommt false... warum das?

mfg simon
[edit] also paar sachen hab ich geändert, weil er gemeckert hat:
if Extension '' then -->> if Extension = '' then
if Extension[1] '.' then -->> if Extension[1] = '.' then

könnnte es daran liegen?
[/edit]
Simon
  Mit Zitat antworten Zitat