Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Реевтр


Автор: Black_Joker 25.12.2002, 20:50
Народ, подскажите, как за в ПАСе или ДЕЛЬФе написать прогу для автоматической редактировки реестра.
Начальство не хочет бороться с вирусами, а по сети заразы бегает немерено. У них на машине лежат архивы (созданный вирусами) и антивирус не включают
Палиться и лезти на машину некто не хочет, а так за долю секунды прогу скинул, запустил и после перезагрузки автоматический сканинг на вирусы, пока за ребятами сбегают, пока ребята придут, большая часть заразы уже побеждена.
Вопрос: как сделать прогу для редактирования реестра (т.е. чтоб вписала нужный параметр)

Автор: Dexter 25.12.2002, 22:55
Это типа как "Я хочу написать QUAKE IV. Как это сделать?"
Поконкретней. И не будут же тут за тебя писать всю программу.

Автор: Medved 26.12.2002, 03:31
Я так понимаю вопрос в том, как осуществлять поиск требуемого параметра, или ключа реестра.

В Delphi есть специальный класс TRegistry для работы с реестром. Вызовите справку по этому классу, я думаю там достаточно все просто описано, даже без особо глубокого знания английского языка. Плюс много примеров по работе с этим классом.

Желаю удачи.

P.S. Если все же не разберетесь, то постите в эту тему вопрос, который вызвал затруднение, Вам ответят.

Автор: Dexter 26.12.2002, 04:05
Поиска там если не ошибаюсь нету

Автор: Medved 26.12.2002, 04:58
Да, поиска нет, но можно выкрутиться... я для этого и приписал постскриптум...

Автор: Vit 26.12.2002, 13:39
Поиск ключа делается точно так же как и в любой другой древовидной структуре(например поиск файла) - при помощи рекурсивной функции...

Автор: Black_Joker 26.12.2002, 18:18
Всем спасибо.
Во-первых хочу извиниться за грамматические ошибки в названии. Торопился очень, карточка заканчивалась.
Во-втрых, куда прописатья знаю, вопрос в том, как добавить строку в реестр

Автор: Borland_Delphi_6 26.12.2002, 18:31
Если нужно просто прописать строку в реестр, то это делается так:
Код
uses Registry;

Код
var reg:TRegistry;
begin
reg:=TRegistry.Create;
reg.WriteString();
end;
end.

Вот примерно так.

Автор: Medved 28.12.2002, 10:17
Забыл после reg.WriteString(); добавить

Код

 reg.CloseKey;


Иначе изменения не сохраняться.

Автор: Cashey 29.12.2002, 05:45
В Delphi имеется модуль Registry, который обеспечивает доступ к системному реестру. Приведенный ниже фрагмент кода позволяет зарегистрировать расширение файлов *.mfe:

Uses Registry;
…

procedure TMainForm.FormCreate;
var
   Reg:TRegistry;
begin
  Reg:=nil;
  try  
     Reg:=TRegistry.Create;
     Reg.RootKey:=HKEY_CLASSES_ROOT;
     Reg.OpenKey('\.mfe',True);
     Reg.WriteString('', 'MainFormData');
     Reg.CloseKey;
     Reg.OpenKey('\MainFormData',True);
     Reg.WriteString('', 'My private datafiles');
     Reg.CloseKey;
     Reg.OpenKey('\MainFormData\Shell\Open\Command',True);
     Reg.WriteString('',ParamStr(0)+' %1');
     Reg.CloseKey;
     Reg.OpenKey('\MainFormData\DefaultIcon',True);
     Reg.WriteString('',ParamStr(0)+', 1');
     Reg.CloseKey;
     Reg.Free;
  except
     if Assigned(Reg) then Reg.Free;
  end;
end;

Автор: SmaLL 14.1.2003, 20:11
Для автоматического запуска проги при загрузке машинки, надо еЁ прописать в реестре в этих ключах:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run - запускаться будет при каждой загрузке
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce - запуститься только один раз, а потом ОС сама удалит эту запись.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)