![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| Витаминка |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
Привет! Как осуществить поиск по реестору зная имя и тип ключа с помощью Делфи?
|
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
В смысле? Открыть ветку? Вот пример из моей проги:
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Рекурсия + код Данкинг-а поможет.
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| Витаминка |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
а можеть есть реальные примеры какие, поисковики молчат( Это сообщение отредактировал(а) Витаминка - 26.1.2007, 22:05 |
|||
|
||||
| Данкинг |
|
|||
![]() Yersinia pestis ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 8302 Регистрация: 7.11.2006 Где: მოსკოვი Репутация: 9 Всего: 130 |
В смысле, реальные примеры? Вот я реальный привёл, могу весь текст выложить.
-------------------- There's nothing left but silent epitaphs. |
|||
|
||||
| Витаминка |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
Думаю врятли мне поможет весь текст, я знаю название стрингово парметра, но незнаю путь до него, мне надо задать имя параметра и первый найденный путь каторый идёт до параметра с заданым мной именем записался в переменную
|
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Вот роуз на тему написал програмку, можно скачать с исходником http://rouse.drkb.ru/other.php#regfind
|
|||
|
||||
| Витаминка |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
Спасибо, это то что надо
Это сообщение отредактировал(а) Витаминка - 26.1.2007, 22:39 |
|||
|
||||
| Витаминка |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
Вот переделала софтинку под себя, но никак не могу разобраться в причине этой ошибки Failed to set data for 'xxx' Если несложно, то поясните что ни так, вот кодесы, правда я так доконца в них и неразобралась как осуществляется поиск, если не лень то прокомментируйте пжлста
Это сообщение отредактировал(а) Витаминка - 29.1.2007, 19:51 |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Скорее всего прав нет. Или пропущена строка
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| Витаминка |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
||||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Возможно уже есть параметр xxx, только он другого типа (например DWORD);
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| Витаминка |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
Да, параметр каторый я ищу есть, а то смысл тогда поиска по ресстору... Тип стринговый
|
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Даже не знаю что и посоветовать. приведи код весь что-ли. -------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
1. Все программы роуза всегда содержат мелкие ошибки, это роуз сделал спеиально чтоб левые люди не скопилефтить его софтину.
Так что там нужно порыться и найти не логичную ошибку. 2.
|
|||
|
||||
| Витаминка |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
1) Я нашла в коде нашла только одну нелогическую ошибку, но в том что мне надо это никак непомагло... может их там куча, но я их не вижу
2)Если этот код удалить то будет просто перебор ветвей HKEY_USERS, как тогда сделать проверку на имена параметров в каждой ветви? |
|||
|
||||
| Витаминка |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
RA насоветовал тут мне....
Без этого кода нельзя сделать проверку на Value, и он никак не лишний, лишь одно что IsValidData лучше заменить на
Конешно спасибо за уменьшение кол-ва строк кода, но это никак не решает проблему с Failed to set data for 'xxx' Это сообщение отредактировал(а) Витаминка - 31.1.2007, 20:43 |
||||
|
|||||
| Витаминка |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
Ну хотяб предположения какие есть, не может быть чтоб тут не нашлось кодера каторый не мог подсказать в чём дело...
|
|||
|
||||
| AndySphinx |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 9 Регистрация: 20.1.2007 Где: Харьков Репутация: нет Всего: нет |
Обратите внимание, что в
пытается в параметр xxx записать значение 1111, а нужно то толко сканирование |
|||
|
||||
| Витаминка |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
мда...после сканирования мне нужна запись
|
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Витаминка, выложи весь исходник пожалуйста. Там будет легче тебе помочь.
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| Витаминка |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
Sunvas так я выкладывала на 1ой странице, вот ещё раз
|
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
Вот, кажется увидел ашипку. Попробуй так:
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| Витаминка |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
Неа((( Я уж незнаю что делать... Мне кажется всё дело FReg.OpenKeyReadOnly, хотя даже када я его закрываю, а потом открываю в режими записи, ошипка всё равно вылетает, а при сканировании можно только открывать в ReadOnly
|
|||
|
||||
| dimazu |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 4.3.2006 Репутация: 4 Всего: 5 |
A я бы вместо WriteString iспользовал бы RegSetValueEx в связке с RegOpenKeyEx и RegCloseKey
|
|||
|
||||
| Витаминка |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
А ты откуда их взял SetValueEx и OpenKeyEx ??? Такого в модуле Registry нет, по крайней мери у меня...
|
|||
|
||||
| dimazu |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 4.3.2006 Репутация: 4 Всего: 5 |
Да есть такие...
ЗЫ. А почему надо писать в HKEY_USERS ? Это сообщение отредактировал(а) dimazu - 2.2.2007, 05:01 |
|||
|
||||
| Витаминка |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
Уххх, а без API никак? Мне процедуру сканирования под них переписать никак не удаётся(несовместимость типов и прочие) Можети помочь с переписанием под API, я бош не могу, не получается
ЗЫ: потому что в HKEY_USERS находится ветвь в которой лежит нужный мне value Это сообщение отредактировал(а) Витаминка - 2.2.2007, 06:18 |
|||
|
||||
| dimazu |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 4.3.2006 Репутация: 4 Всего: 5 |
Если известен путь к ключу, то напишем его
типа: HKEY_USERS\.DEFAULT\Software\MyProg\MyValue (тип) Пробуем помочь... Вот пример без API По твоему коду:
Это сообщение отредактировал(а) dimazu - 2.2.2007, 09:57 |
|||
|
||||
| Sunvas |
|
|||
|
Соль и сахар ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 3388 Регистрация: 12.3.2006 Где: Тосно Репутация: 28 Всего: 89 |
У меня сейчас появилась идея, а что если вынести запись значение в отдельную процедуру?
-------------------- Воспитывая детей по своему образу и подобию, родители почему-то надеются, что они будут лучше их. |
|||
|
||||
| dimazu |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 4.3.2006 Репутация: 4 Всего: 5 |
См. пост на один выше.
Работает без проблем.... |
|||
|
||||
| RA |
|
|||
![]() Брутальный буратина ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3497 Регистрация: 31.3.2002 Где: Лес Репутация: 14 Всего: 115 |
Твой вопрос "поиск ключа в regedit", я дал ссылку на сорс роуза, в ответ вижу кусок кода, я подумал что это кусок кода от роуза. |
|||
|
||||
| Витаминка |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
Спасибо большое за помощь
Но это ещё не всё)) 1) Почему value в реестре меняется только после 2ва запуска программы? 2) Если перенести всё эта на консоль, то всё компилится без ошибок, но value не меняет... |
|||
|
||||
| dimazu |
|
||||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 4.3.2006 Репутация: 4 Всего: 5 |
Если помнишь, я спрашивал почему менять надо именно в HKEY_USERS...
Dело в том, что там запись в регистре дублируется системой в HKEY_USERS\S-x-x-xx и вхождений может быть много (два и больше). Поскольку точный путь тебе неизвестен, а известно лишь имя переменной, то в моем примере изменяются ВСЕ вхождения для 'xxxxx', найденные в реестре, под HKEY_USERS, а их, как я и говорил, может быть несколько. Т.е. если предположить, что переменная находится где-то в \.DEFAULT, то надо сделать проверку, типа:
В процедуре Scan nаписать типа:
I приравнять Edited:=False перед Scan Это сообщение отредактировал(а) dimazu - 4.2.2007, 21:11 |
||||
|
|||||
| Витаминка |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
dimazu чтоб я без тебя делала, спасиб!
|
|||
|
||||
| dimazu |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 4.3.2006 Репутация: 4 Всего: 5 |
Извиняюсь, но не понял вопроса...
|
|||
|
||||
| Витаминка |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
Если проект создать в Console Application(без окошка) то ничё не работает, но и ошибок никаких нет |
|||
|
||||
| dimazu |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 83 Регистрация: 4.3.2006 Репутация: 4 Всего: 5 |
Проверил. Работает. Записывает.
Вот пример:
|
|||
|
||||
| Витаминка |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 56 Регистрация: 9.12.2006 Репутация: 1 Всего: 1 |
Спасиб, всё заработало, жаль те плюс поставить не могу... Модеры плюсаните dimazu
|
|||
|
||||
![]()
|
| Правила форума "Delphi: Общие вопросы" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |