Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 1 904

/ вопрос открыт /

Здравствуйте, эксперты!
Вот у меня маленькая проблемка, нужна помощь по вопросу поиска и замены значений dword в реестре, а точнее программу чтобы осуществляла:

нужно осуществить поиск в ветви [HKEY_CURRENT_USER\Software\progr1],
там есть подветви:
[HKEY_CURRENT_USER\Software\progr1\qqq]

[HKEY_CURRENT_USER\Software\progr1\qqq\1]

[HKEY_CURRENT_USER\Software\progr1\qqq\1\eee]

[HKEY_CURRENT_USER\Software\progr1\qqq\1\eee\1]
"zn"=dword:1e8480

[HKEY_CURRENT_USER\Software\progr1\qqq]

[HKEY_CURRENT_USER\Software\progr1\qqq\2]

[HKEY_CURRENT_USER\Software\progr1\qqq\2\eee]

[HKEY_CURRENT_USER\Software\progr1\qqq\2\eee\1]
"zn"=dword:1e8480
.... и т.д.

так вот нада найти все эти: "zn"=dword:1e8480

и изменить их например на :"zn"=dword:0
=================================
Заранее благодарен!

Примечание #1 (17 сентября 2008, 00:30):
Ув. эксперты! {
нужно чтобы поиск осуществлялся именно в
[HKEY_CURRENT_USER\Software\_progr1] а не по всему
HKEY_CURRENT_USER,
а найденые в TListView параметры program, изменить
на значение "999"
}

прикреплен файл с примером:
http://letitbit.net/download/5a6ee2870676/regfind-qqq.zip.html

oleg1488 Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: oleg1488 (статус: Посетитель)
Вопрос отправлен: 16 сентября 2008, 14:55
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: Feniks

Здравствуйте, oleg1488!
Держите в Приложении пример чтения и записи значений типа REG_DWORD, а так же в Атаче пример поиска по реестру.
К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)

Приложение:
  1. // Read REG_DWORD
  2. procedure TForm1.Button1Click(Sender: TObject);
  3. var
  4. Reg: TRegistry;
  5. RegKey: DWORD;
  6. Key: string;
  7. begin
  8. Reg := TRegistry.Create;
  9. try
  10. Reg.RootKey := HKEY_USERS;
  11. Key := '.DEFAULTSoftwareMicrosoftWindowsCurrentVersionInternet SettingsURL History';
  12. if Reg.OpenKeyReadOnly(Key) then
  13. begin
  14. if Reg.ValueExists('DaysToKeep') then
  15. begin
  16. RegKey := Reg.ReadInteger('DaysToKeep');
  17. Reg.CloseKey;
  18. ShowMessage(IntToStr(RegKey));
  19. end;
  20. end;
  21. finally
  22. Reg.Free
  23. end;
  24. end;
  25.  
  26.  
  27. // Write REG_DWORD
  28. procedure TForm1.Button2Click(Sender: TObject);
  29. var
  30. Reg: TRegistry;
  31. Key: string;
  32. begin
  33. Reg := TRegistry.Create;
  34. try
  35. Reg.RootKey := HKEY_USERS;
  36. Key := '.DEFAULTSoftwareMicrosoftWindowsCurrentVersionInternet SettingsURL History';
  37. if Reg.OpenKey(Key, True) then
  38. begin
  39. Reg.WriteInteger('DaysToKeep', 20);
  40. Reg.CloseKey;
  41. end;
  42. finally
  43. Reg.Free
  44. end;
  45. end;


Ответ отправил: Feniks (статус: Бакалавр)
Время отправки: 16 сентября 2008, 15:44
Оценка за ответ: 5


Мини-форум вопроса

Всего сообщений: 2; последнее сообщение — 16 сентября 2008, 19:34; участников в обсуждении: 2.
Вадим К

Вадим К (статус: Академик), 16 сентября 2008, 15:11 [#1]:

Просто берём и рекурсивно пробегаем.
Галочка "подтверждения прочтения" - вселенское зло.
oleg1488

oleg1488 (статус: Посетитель), 16 сентября 2008, 19:34 [#2]:

Ув. эксперты! {
нужно чтобы поиск осуществлялся именно в
[HKEY_CURRENT_USER\Software\_progr1] а не по всему
HKEY_CURRENT_USER,
а найденые в TListView параметры program, изменить
на значение "999"
}

прикреплен файл с примером:
http://letitbit.net/download/5a6ee2870676/regfind-qqq.zip.html

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 16:48
Выполнено за 0.02 сек.