
17.04.2011, 10:56
|
Прохожий
|
|
Регистрация: 21.11.2010
Сообщения: 24
Репутация: 10
|
|
Ассоциации
Короче говоря, код действует. Ассоциации заносятся в реестр, но не работают.
Код:
procedure Associate;
var s:string;
begin
Reg:=TRegistry.Create; // создаем
Reg.RootKey := HKEY_CLASSES_ROOT; // указываем корневую ветку
Reg.OpenKey('.dcu\OpenWithList\', true);
Reg.WriteString('TestApplication.dcu', '');
Reg.OpenKey('\TestApplication.dcu\DefaultIcon\', true);
s:=Application.ExeName+',0';
Reg.WriteString('', s);
Reg.OpenKey('\TestApplication.dcu\Shell\Open\', true);
Reg.WriteString('', 'Открыть в TestApplication');
Reg.OpenKey('command\', true);
s:='"'+Application.ExeName+'" "%1"';
Reg.WriteString('', s);
Reg.Free;
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
end;
Почему?
|