|
|
|
новичок
      
участник
Last Login: 03.03.2000 3:47
Сообщ.: 6,
Visits: 67
|
|
Народ, может кто подскажет, как в реестр записать бинарный параметр?
Проблема вот в чем, для записи существует функция RegSetValueEx(), но, например мне необходимо записать в параметр 01,00,00,00, то функция все равно пишет ее как текстовую, тоесть не в раздел HEX в текстовую часть
|
|
|
|
|
Supreme Being
      
администратор
Last Login: 13.11.2007 13:41
Сообщ.: 4 421,
Visits: 49 251
|
|
LONG RegSetValueEx(
HKEY hKey, // handle to key to set value for
LPCTSTR lpValueName, // name of the value to set
DWORD Reserved, // reserved
DWORD dwType, // flag for value type
CONST BYTE *lpData, // address of value data
DWORD cbData // size of value data
);
dwType - Specifies the type of information to be stored as the value's data.
REG_BINARY - Binary data in any form.
----------------------
То есть попробуй использовать это:
Public Const REG_BINARY = 3 ' Free form binary
Другие типы смотри в API константах начинающиеся на "REG_"... Надеюсь это поможет.
|
|
|
|
|
новичок
      
участник
Last Login: 03.03.2000 3:47
Сообщ.: 6,
Visits: 67
|
|
| Все это так. Эта функция действительно создает бинарный параметр. Но повторю, проблема в следующем: а именно, создав бинарный параметр, функция записывает не в левое поле а в правое, т.е. все равно понимается как текстовое, а у меня совершенно четкий параметр "01,00,00,00" который необходимо записать как HEX.
|
|
|
|
|
Supreme Being
      
администратор
Last Login: 13.11.2007 13:41
Сообщ.: 4 421,
Visits: 49 251
|
|
М.б. проблема в том, как ты это записываешь. Ф-я ниже вроде работает корректно.
Public Sub SaveSettingByte(ByVal hKey As Long, ByVal strPath As String, ByVal strValueName As String, byData() As Byte)
Dim lRegResult As Long
Dim hCurKey As Long
lRegResult = RegCreateKey(hKey, strPath, hCurKey)
lRegResult = RegSetValueEx(hCurKey, strValueName, 0&, REG_BINARY, byData(0), UBound(byData()) + 1)
lRegResult = RegCloseKey(hCurKey)
End Sub
|
|
|
|