Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.620 Beiträge
Delphi 12 Athens
|
AW: Dateiendung registrieren - Problem
25. Mär 2015, 20:06
Ich hab das mal im Editor umgeschrieben, das ist zwar nicht sonderlich elegant, aber versuch doch mal
Delphi-Quellcode:
type
ERegException = class( Exception);
procedure InstallExt(Extension, ExtDescription, FileDescription, OpenWith, ParamString: string; IconIndex: Integer;
ExtVerb: string = ' open');
var
Reg: TRegistry;
begin
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CLASSES_ROOT;
if Reg.OpenKey(Extension, True) then
try
Reg.WriteString(' ', ExtDescription);
finally
Reg.CloseKey;
end
else
raise ERegException.CreateFmt(' Schlüssel HKEY_CLASSES_ROOT\%s konnte nicht geöffnet/angelegt werden.', [ExtDescription]);
if Reg.OpenKey(ExtDescription, True) then
try
Reg.WriteString(' ', FileDescription);
if Reg.OpenKey(' DefaultIcon', True) then
try
Reg.WriteString(' ', OpenWith + ' ,' + IntToStr(IconIndex));
finally
Reg.CloseKey;
end
else
raise ERegException.CreateFmt(' Schlüssel HKEY_CLASSES_ROOT\%s konnte nicht geöffnet/angelegt werden.', [FileDescription + ' \DefaultIcon']);
if Reg.OpenKey(' Shell\' + ExtVerb + ' \Command', True) then
try
Reg.WriteString(' ', ' "' + OpenWith + ' " "' + ParamString + ' "');
finally
end
else
raise ERegException.CreateFmt(' Schlüssel HKEY_CLASSES_ROOT\%s konnte nicht geöffnet/angelegt werden.', [ExtDescription + ' \Shell\' + ExtVerb + ' \Command']);
finally
Reg.CloseKey;
end
else
raise ERegException.CreateFmt(' Schlüssel HKEY_CLASSES_ROOT\%s konnte nicht geöffnet/angelegt werden.', [FileDescription]);
finally
Reg.Free;
end;
end;
Ist zwar ungetestet, sollte aber zumindest den Grund nennen, wieso es nicht klappt.
Detlef "Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
|
|
Zitat
|