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]