![]() |
|
Модераторы: Daevaorn |
![]()
|
|
| knut |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
Есть функция
DWORD dwSize; char uData[MAX_VALUE_SIZE]; DWORD dwType = REG_SZ; lRegErr = RegQueryValueEx(hKeyTemp, name, NULL, &dwType, (LPBYTE)uData, &dwSize); а проблема следуюшая. в массв uData записывается только один байт.а значения name а давольно длин.число или строка не как не могу прочитать все значение. --------------------
|
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 63 Всего: 196 |
Другими словами, присвой переменной dwSize значение MAX_VALUE_SIZE перед вызовом функции RegQueryValueEx |
|||
|
||||
| knut |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
подправил я код
и зделал так
но после каждого push a он почему то пушает 0 и печатает только 1 символ --------------------
|
||||||
|
|||||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Так ты в цикле посимволно разбираешь. Зачем? Твоя uData - и есть строка.
|
|||
|
||||
| knut |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
Любитель,
так она только один символ печатает. --------------------
|
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Сорри - прочитал невнимательно.
По теме - юникод включен или нет. Есть подозрение, что да. А ты полученную жникод строку интерпретируешь как анси. Достаточно логично получить 0. Или работай с юникодом, или отключи его (нежелательный вариант) или юзай RegQueryValueExA. |
|||
|
||||
| knut |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
отключил я юникод(Use UNICODE Response File) но опять не то --------------------
|
||||
|
|||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Ты совсем не то отключил (на память не скажу, что сие есть). Поставь просто вызов анси-версии функции (с суфиксом A).
|
|||
|
||||
| knut |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
Любитель,
поменял char uData[MAX_VALUE_SIZE] на _TCHAR uData[MAX_VALUE_SIZE]; но если значение uData string то все нормально , а вот если DWORD то какие то ироглефы получаю. --------------------
|
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Всмысле? В реестре тип REG_DWORD (или как он там)? Если да, то в этом случае ты и не получшиь строки. В первых 4 байтах uData ты получишь DWORD-значение. Делаем что-то такое:
В dwType ты получишь значение типа ключа, значение которого ты запрашиваешь. Кстати, dwType можно не инитить - это чисто вызодной параметр. |
|||
|
||||
| knut |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 588 Регистрация: 7.2.2006 Репутация: нет Всего: нет |
Любитель, спасибо за помощь держы плюс
--------------------
|
|||
|
||||
| Любитель |
|
|||
|
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 24 Всего: 92 |
Держу
Только просьба - ставь галку "вопрос решён", если это действительно так. |
|||
|
||||
![]()
|
| Правила форума "С++:Общие вопросы" | |
|
|
Добро пожаловать!
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Общие вопросы | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |