Stworzyłem w systemie własne rozszerzenie do własnego programu w Delphi. I mam problem z ikonką: jako ikonkę mam podane
Application.exename + ',1'
ale nie pokazuje mi ikonki na pliku, mimo że jest ta ikonka w programie. Próbowałem dać plik .ico i zmieniac cyferkę po przecinku, ale nic z tego. Co zrobić, żeby działało?
Mój kod dodawania rozszerzenia:
Wywołanie:
RegisterFileExtension('.etp', 'Pisarz_File', Application.ExeName, Application.ExeName + ',1');
Procedura:
procedure TForm1.RegisterFileExtension(Ext, Name, ProgramName, Icon: string);
var
Reg: TRegistry;
begin
if Ext[1] <> '.' then
Ext := '.' + Ext;
Reg := TRegistry.Create;
try
Reg.RootKey := HKEY_CLASSES_ROOT;
Reg.OpenKey(Ext, True);
Reg.WriteString('', Name);
Reg.CloseKey;
Reg.OpenKey(Name + '\shell\open\command', True);
Reg.WriteString('', '"' + ProgramName + '" "%1"');
Reg.CloseKey;
Reg.OpenKey(Name + '\DefaultIcon', True);
Reg.WriteString('', Icon);
Reg.CloseKey;
showmessage('Rozszerzenie zostało zarejestrowane!');
finally
FreeAndNil(Reg);
end;
end;