Rejestruję sobie rozszerzenie dla mojego programu :
procedure StworzCoTrzeba;
var
reg : TRegistry;
begin
Reg.RootKey := HKEY_CLASSES_ROOT;
Reg.OpenKey('.edt', true);
Reg.WriteString('','edt_auto_file');
Reg.CloseKey;
Reg.OpenKey('edt_auto_file', True);
Reg.WriteString('', 'Moj typ pliku');
Reg.CloseKey;
Reg.OpenKey('edt_auto_file\shell\open\command', true);
Reg.WriteString('', '"'+ Application.ExeName + '" "%1"');
Reg.CloseKey;
Reg.OpenKey('edt_auto_file\DefaultIcon', true);
Reg.WriteString('', '"'+ Application.ExeName + ',0');
Reg.CloseKey;
end;
Pytania :
- Dlaczego jak użyję tej procedury, to potem przy wychodzeniu z programu (nie od razu) wywala mi Acces Violation, ale nie w żadnym konkretnym miejscu, albo jak się uruchomi nie spod Delphi, to "Program wykonał nieprawidłową operację".
- Dlaczego nie przyporządkowuje mi takiej ikonydo rozszerzenia, jaką ja bym chciał, tylko takią jak ma np. command.com ?