![]() |
|
|
![]()
|
|
| Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
Добрый день!
Есть раздел в реестре: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\{E2850339-5E51-4BE7-8B70-926129663F31}\Parameters\Tcpip в нем находится ключ: IPAddress. regedit показывает, что этот ключ имеет тип REG_MULTI_SZ. Теперь сам вопрос, как можно считать этот параметр (если быть более точным, то как мне считать и преобразовать его в тип AnsiString)? И второй вопрос, как модифицировать этот параметр? -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
читай справку на предмет класса TRegistry вообще и его методов Read/WriteString в частности...
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
Очень полезный ответ!!!
Я спрашивал помощи, а не подобных советов. Метод Read/WriteString применим только для строковых параметров. В regedit такие параметры отображаются REG_SZ. При использовании подобного метода, моя программа выдает ошибку. -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
во-первых: что за ошибка.
во-вторых: кто мешает воспользоваться ReadBinaryData/WriteBinaryData (это если подходящих методов нет) -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
При вызове процедуры ReadString (при работе программы) выдает ошибку, что тип переменной чтения неправильный.
При использовании метода ReadBinaryData тоже выдает ошибку "Failed tj get data for 'IPAddres' Даже если я считаю эти данные, то каким образом мне их преобразовать в AnsiString. Вот код подпрограммы:
-------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
дык а память под буффер кто выделять будет?
насчет преобразования:
(MSDN) -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
Bima, внимательней читай хелп. третий параметр ReadBinaryData (у тебя - siz) - это не размер считываемых данных, а размер буфера для чтения.
и вообще... IP Helper Добавлено @ 13:33 тоже может помочь |
|||
|
||||
| Bima |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
В том то вся и фигня, что через симол там ставится нулевой символ у меня вот такой код:
но когда я смотрю char, то там такая мешанина символов, причем символов /0 очень много. при просмотре выдает следущее: 1\09\02\0.\01\06\08 и так далее. отсюда угадывается адрес который я считываю 192.168.... но в поле EIp->Text отображается "26" -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
||||
|
|||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
в чем фигня -- так и не понял. что мешает строке иметь длинну в один символ?
+ тут не через символ а через число ++ приводил бы уже в HEX' е -- а то такое читать не особо приятно... -------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 32 Всего: 158 |
фпоиск. смотри объяснение своим "нулям" в третьем найденном посте.
|
|||
|
||||
| Bima |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
Пока все получилось, привожу код который я использовал:
а вот код для записи параметра:
Вроде все работает, но если есть советы по оптимизации кода - всегда выслушаю. -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
||||
|
|||||
| Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
Блин, в 98 работает, а в ХР не хочет
-------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
пересобери на машине с XP
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
| Bima |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 518 Регистрация: 15.8.2006 Репутация: 2 Всего: 2 |
Пересобрал, но выявил новый глюк:
Когда я делаю запись, то в реестре вместо ключа REG_MULTI_SZ, появляется ключ REG_BINARY, а мне это не нужно. Так как всетаки записывать параметры в реестр, что бы они были REG_MULTI_SZ??? -------------------- Чтобы дойти до цели, надо идти. Клавиатура и мышь - это главные инструменты прогресса. |
|||
|
||||
| _hunter |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 8564 Регистрация: 24.6.2003 Где: Europe::Ukraine:: Kiev Репутация: 24 Всего: 98 |
значит забиваем на VCL и пишем/читаем данные сами: RegOpenKeyEx, RegSetValueEx
-------------------- Tempora mutantur, et nos mutamur in illis... |
|||
|
||||
![]()
|
| Правила форума "С++ Builder" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C++ Builder | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |