Использование RegQueryValueEx для значения реестра, которое может быть REG_DWORD или REG_SZ.C++

Программы на C++. Форум разработчиков
Ответить
Гость
 Использование RegQueryValueEx для значения реестра, которое может быть REG_DWORD или REG_SZ.

Сообщение Гость »


В настоящее время я использую RegQueryValueEx() для получения значения реестра, которое потенциально может быть записано в формате REG_SZ или REG_DWORD.

BYTE byteArray[MAX]; DWORD dataSize = sizeof(byteArray); Тип DWORD = 0; RegQueryValueEx( хКей, дополнительный ключ, нульптр, &тип, reinterpret_cast(&byteArray), &размер данных)); Когда я получаю данные значения REG_SZ (пример: «42314»), я получаю в ответ следующее:

byteArray 0x004fe6a8 «4» беззнаковый символ [100] [0] 52 '4' беззнаковый символ [1] 0 '\0' беззнаковый символ [2] 50 '2' беззнаковый символ [3] 0 '\0' беззнаковый символ [4] 51 '3' беззнаковый символ [5] 0 '\0' беззнаковый символ [6] 49 '1' беззнаковый символ [7] 0 '\0' беззнаковый символ [8] 52 '4' беззнаковый символ [9] 0 '\0' беззнаковый символ [10]0 '\0' беззнаковый символ Можно ли как-нибудь не иметь нулевых байтов после каждого символа? Я думаю, это из-за того, что RegEnumValue() вызывается для каждого символа, но я не уверен.
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»