Автор
|
Тема: Реестр
|
Stasila |
опубликован 07-12-2001 23:14 MSK
Подскажите, как можно узнать из программы значение двоичного параметра в реестре ( может быть 0 или 1 ).
|
Flex Ferrum
|
опубликован 07-12-2001 23:48 MSK
А RegQueryValueEx уже отменили? |
Dark_Spider
|
опубликован 10-12-2001 13:00 MSK
В спп билдере есть объект TRegistry модуля Registry.hpp В его методах есть функция ReadBool("имя ключа") она и возвращает true или false |
Stasila
|
опубликован 10-12-2001 19:27 MSK
2Flex Ferrum : Набрал я такую штуку с RegQueryValueEx: if (RegOpenKeyEx(HKEY_LOCAL_MACHINE,"My", 0, KEY_READ, &hKey) == ERROR_SUCCESS) { if (RegQueryValueEx(hKey, "temp", NULL, NULL, NULL,&dwDataSize) == ERROR_SUCCESS) { RegQueryValueEx(hKey,"temp", NULL, NULL,valu, &dwDataSize); } } Не знаю, насколько это рационально, но для строкового параметра работает хорошо, а вот для двоичного не хочет. Никак не могу понять, что и как надо поменять, каким типом регистрировать переменную valu, чтобы зароботало. Подскажите, plzzz, что не так ????? |
tonik
|
опубликован 13-12-2001 22:50 MSK
А не пробовал в качестве 4-го параметра указать тип REG_BINARY? |
agi
|
опубликован 14-12-2001 09:06 MSK
Я пробовал ставить REG_BINARY но чтото на получается, пишет ошибку cannot convert parameter 4 from 'const int' to 'unsigned long *' Что можно зделать????? |
agi
|
опубликован 15-12-2001 04:23 MSK
Как с помощью API функций можно получить DWORD, и двоичный параметры из реестра для сохранения его в *.txt формате примерно как делается это программой regedit.exe->экспорт файла реестра. |
tonik
|
опубликован 16-12-2001 03:33 MSK
Я тут вспомнил - в 4-м параметре надо указывать адрес переменной типа DWORD. |
Stasila
|
опубликован 16-12-2001 09:16 MSK
Да я тут уже разобрался.Надо просто в RegQueryValueEx перед valu поставить (LPBYTE), а саму переменную объявить как BYTE valu[50]; |
Stasila
|
опубликован 16-12-2001 09:21 MSK
2tonic: Да, еще действительно надо указать в 4 параметре dwType типа DWORD, который можно получить из предыдущего RegQueryValueEx |