![]() |
|
|
|
|
#1
|
|||
|
|||
|
Код:
procedure Registrik;
var s:string;
Reg: TRegistry;
begin
Reg:=TRegistry.Create;
Reg.RootKey := HKEY_CLASSES_ROOT;
Reg.OpenKey('\*\shell', true);
Reg.WriteString('Edit With Rnote', '');
Reg.OpenKey('\*\shell\Edit With Rnote\', true);
s:='Edit With Rnote2';
Reg.WriteString('', s);
Reg.OpenKey('\*\Shell\Open\', true);
Reg.WriteString('', 'Îòêðûòü â Rnote1');
Reg.OpenKey('command\', true);
s:='"'+Application.ExeName+'" "%1"';
Reg.WriteString('', s);
Reg.Free;
SHChangeNotify(SHCNE_ASSOCCHANGED, SHCNF_IDLIST, nil, nil);
end;Вот код моего реестра на Дельфи. Создаться контекстное меню. Но возникла проблема "Неверный адрес". Код:
Reg.OpenKey('command\', true);
s:='"'+Application.ExeName+'" "%1"';
Reg.WriteString('', s);То-есть этот адрес к файлу не видит. Или, что-то я намудрил! В чём ошибка адреса? |
|
#2
|
||||
|
||||
|
Код:
var
registry: TRegistry;
begin
registry:=TRegistry.Create;
try
registry.RootKey:=HKEY_CLASSES_ROOT;
registry.OpenKey('\*\shell\Rnote\', True);
registry.WriteString('', 'Открыть в Rnote');
registry.OpenKey('\*\shell\Rnote\command', True);
registry.WriteString('', Application.ExeName+' "%1"');
finally
registry.Free;
end;
end; |