Chega Posted March 3, 2005 Report Share Posted March 3, 2005 (edited) собрался писать что-то стоящее после 3х занятий в инсте на Delphi. как менять ключи реестра я разобрался а вот как отключать сервисы - нет. Просто хочу написать под себя твикер - а на этом шаге застопорился а еще подскажите пожалуйста правильно(в смысле нет ли тут чего лишнего) ли дело написано а то я с Delphi не очень program Project1;{$APPTYPE CONSOLE} uses SysUtils, Registry, Windows; var Reg: TRegistry; begin Reg:=TRegistry.Create; try Reg.RootKey:=HKEY_LOCAL_MACHINE; If Reg.OpenKey('\SOFTWARE\Microsoft\dfrg\BootOptimize\Function\'+ '{enabled}', True) then begin Reg.WriteString('','y'); Reg.CloseKey; end; finally Reg.Free; end; end. Edited March 3, 2005 by Chega Link to comment Share on other sites More sharing options...
Chega Posted March 3, 2005 Author Report Share Posted March 3, 2005 все, с сервисами разобрался :) OpenService DeleteService остается только вопрос о целесообразности кода для правки реестра... Link to comment Share on other sites More sharing options...
Chega Posted March 4, 2005 Author Report Share Posted March 4, 2005 товарищи up темы. Из меня плохой кодер(по крайней мере я так считаю)... Link to comment Share on other sites More sharing options...
Chega Posted March 7, 2005 Author Report Share Posted March 7, 2005 как я понял тут кодеров в Delphi не имеется? Link to comment Share on other sites More sharing options...
Shurr Posted March 7, 2005 Report Share Posted March 7, 2005 Chega Да ладно, че ты циклишь? Нормальный код, особого рака не видно. ;) Link to comment Share on other sites More sharing options...
Chega Posted March 7, 2005 Author Report Share Posted March 7, 2005 да я не циклю а поднимаю тему ;) а если учесть то что в дельфях я пока-что ноль - хотел поинтересоваться у людей разбирающихся получше меня. Link to comment Share on other sites More sharing options...
Сергей Плоткин Posted March 7, 2005 Report Share Posted March 7, 2005 Chega Код не совсем верный... Насколько я понял, ты хочешь изменить в ветви реестра "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\dfrg\BootOptimizeFunction" значение параметра "Enable" в "y". Твой же код создаст ветвь "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\dfrg\BootOptimize\Function\{Enabled}", а в этой ветви параметру "(Default)" присвоит значение "y". Неверно: 1) Запись 'a'+'b' дает лишь строку 'ab', поэтому вариант записи Reg.OpenKey('\SOFTWARE\Microsoft\dfrg\BootOptimize\Function\'+'{enabled}', True) эквивалентен Reg.OpenKey('\SOFTWARE\Microsoft\dfrg\BootOptimize\Function\{enabled}', True) 2) Первое значение, которое необходимо передать функции WriteString - название параметра в текущей ветви. Т.к. оно у тебя пустое, то значение "y" присвоится параметру "(default)". Пример корректного кода: var Reg: TRegistry;begin Reg:=TRegistry.Create; try Reg.RootKey:=HKEY_LOCAL_MACHINE; If Reg.OpenKey('\SOFTWARE\Microsoft\dfrg\BootOptimizeFunction', True) then begin Reg.WriteString('Enable','y'); Reg.CloseKey; end; finally Reg.Free; end;end; Link to comment Share on other sites More sharing options...
Recommended Posts