![]() |
|
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]()
|
|
| JoKeR13 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 18.5.2007 Репутация: нет Всего: нет |
И снова драсти!!!
И снова я обращаюсь к вам за помощью, значит так: Мне оч оч нужно в программе из определенного каталога в !реестре! достать имена всех имеющихся там ДВОИЧНЫХ ПАРАМЕТРОВ!!! да да именнно имена а не значения-зная имена. Дело в том что одна программа в реестре под именами двоичных параметров хранит путь к оч нужному файлу путь может меняться вот мне и нужно его вытащить при этом там может быть путь к нескольким файлам вооот.. Извените я сам не понял что я написал но вы люди опытные уверен разберетесь. Заранее благодарен, жду ответа, спасибо!!! |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 15 Всего: 98 |
так в чем проблема? береш RegEnumValue и перебираеш все значения. если lpType == REG_BINARY -- это твое значение. делай с ним что хош (запоминай имя)...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
TRegistry.GetKeyNames
TRegistry.GetValueNames Вернут тебе список. Останется только отфильтровать двоичные через TRegistry.GetDataType |
|||
|
||||
| JoKeR13 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 18.5.2007 Репутация: нет Всего: нет |
Большое спасибо вам за ответ!!!
Но если вы посмотрите на мой "ранг" то увидите надпись новичок :( извените но не могли бы вы описать не много поподробнее как вытенуть и вывести например в мемо я тут покапался получилось следующее: var Form1: TForm1; Registry: TRegistry; s:tstrings; i:integer; implementation {$R *.dfm} procedure TForm1.Button1Click(Sender: TObject); var Registry: TRegistry; begin Registry := TRegistry.Create; Registry.RootKey := hkey_local_machine; Registry.OpenKey('ïóòü ê ïàïêå áåç hkey...',true); Registry.GetValueNames(s); Registry.CloseKey; Registry.Free; for i:=1 to s.Count-1 do memo1.Lines.add(s.Strings[i]); end; Компиляция проходит а после нажатия на кнопку Button1Click выскакивает ошибка "project ... raised excaption class EAccessViolaton дальчто что то про адрес в памяти бла бла нажмите чтобы продолжить" У кажите пожалуйста где ошибка или что я не так делаю! Заранее благоарен!!! Добавлено через 10 минут и 5 секунд Под кучей каракулей подразумеваеться полный адрес кроме раздела HKEY... а ошибку выдает на Registry.GetValueNames(s). Все еще жду!!! |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
1. Используй TStringList, а не TStrings.
2. Ты забыл его создать. Вот и ошибка - попытка доступа к несозданному объекту. 3. Компилится, но не факт, что не ругается - читай сообщения компилятора. 4. Не надо использовать глобальные переменные. Юзай локальные. |
|||
|
||||
| MetalFan |
|
||||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
можешь написать просто:
а ошибку выдает потому, что s не создан -------------------- There are always someone smarter than you... |
||||
|
|||||
| JoKeR13 |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 26 Регистрация: 18.5.2007 Репутация: нет Всего: нет |
Огромное всем спасибо за помошь еслиб мог понаставил бы вам репутации но не могу сори, наконец все заработало если камуто понадобиться то полностью это выглядит так:
внимание когда выводите в мемо начинайте не с 1 а с 0 а то не будет первой строки!!! ВСЕМ СПАСИБО!!!!! Добавлено через 4 минуты и 26 секунд Software\Microsoft\Office\12.0\Outlook\Catalog ууупс гыы пропал все таки :-(( Ещер заз спасибо добабаченья. |
|||
|
||||
| Snowy |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 11363 Регистрация: 13.10.2004 Где: Питер Репутация: 192 Всего: 484 |
Ты забыл list уничтожить.
На работу программы это конечно не скажется, но память утекает... |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 62 Всего: 128 |
а зачем этот лист вообще нужен то?
-------------------- There are always someone smarter than you... |
|||
|
||||
![]()
|
| Правила форума "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. |