(Co-Admin)
Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
Turbo Delphi für Win32
|
Dateiendung registrieren
29. Apr 2004, 17:24
Hier habe ich diesen Code entdeckt, er stammt jedoch ursprünglich von www.delphi-source.de.
uses Registry;
Dateiendung registrieren:
Delphi-Quellcode:
function InstallExt(Extension, ExtDescription, FileDescription,
OpenWith, ParamString: String; IconIndex: Integer): Boolean;
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
try
with Reg do
begin
RootKey := HKEY_CLASSES_ROOT;
OpenKey(Extension, True);
WriteString('', ExtDescription);
CloseKey;
OpenKey('\' + ExtDescription, True);
WriteString('', FileDescription);
CloseKey;
OpenKey('DefaultIcon', True);
WriteString('', OpenWith + ','+IntToStr(IconIndex));
CloseKey;
OpenKey('\' + ExtDescription + '\Shell\Open\Command', True);
WriteString('', '"' + OpenWith + '" "' + ParamString + '"');
CloseKey;
end;
Result := True;
except
Result := False;
end;
finally
Reg.Free;
end;
end;
Dateiendung aus der Registry entfernen:
Delphi-Quellcode:
function UnInstallExt(Extension, ExtDescription: String): Boolean;
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
try
with Reg do
begin
RootKey := HKEY_CLASSES_ROOT;
DeleteKey(Extension);
DeleteKey('\' + ExtDescription);
end;
Result := True;
except
Result := False;
end;
finally
Reg.Free;
end;
end;
Aufruf:
Delphi-Quellcode:
//Dateiendung registrieren
InstallExt('.abc', 'ABC-Datei', 'Tolles Programm', Application.ExeName, '%1',0);
//Dateiendung entfernen
UnInstallExt('.abc', 'ABC-Datei');
InstallExt sollte nur einmal aufgerufen werden (in einem Installer zum Beispiel).
UnInstallExt dementsprechend bei einem Uninstaller.
|
|
Zitat
|