Hallo,
Ich erstelle einen Eintrag im Shell-Menü (Popup-Menü bei rechtsklick auf eine Datei!) indem ich folgenden Quelltext verwende:
Delphi-Quellcode:
procedure TForm1.AddFileMenue(FilePrefix, Menue, Command: string);
var
reg: TRegistry;
typ: string;
begin
reg := TRegistry.Create;
with reg do
begin
RootKey := HKEY_CLASSES_ROOT;
OpenKey('.' + FilePrefix, True);
typ := ReadString('');
if typ = '' then
begin
typ := Fileprefix + 'file';
WriteString('', typ);
end;
CloseKey;
OpenKey(typ + '\shell\' + Menue + '\command', True);
WriteString('', command + ' "%1"');
CloseKey;
Free;
end;
end;
Löschen eines Eintrags geht mit folgendem Quelltext:
Delphi-Quellcode:
procedure TForm1.DeleteFileMenue(Fileprefix, Menue: string);
var
reg: TRegistry;
typ: string;
begin
reg := TRegistry.Create;
with reg do
begin
RootKey := HKEY_CLASSES_ROOT;
OpenKey('.' + Fileprefix, True);
typ := ReadString('');
CloseKey;
OpenKey(typ + '\shell', True);
DeleteKey(Menue);
CloseKey;
Free;
end;
end;
Die Funktionen werden dann z.B. so aufgerufen:
Delphi-Quellcode:
AddFileMenue('txt', 'Open with MyTXTViewer', paramstr(0));
///////////////////////////////////////////////////////
DeleteFileMenue('txt', 'Open with MyTXTViewer');
Das klappt auch soweit alles wie ich möchte, nur hätte ich gerne auch so ein kleines Icon neben dem Eintrag, so wie beispielsweise bei AntiVir. Dort ist links neben dem Eintrag "Ausgewählte Dateien mit AntiVir überprüfen" ein kleines Icon zu sehen. Das ganze erleichtert es, den Eintrag schneller zu finden.