ANTICHAT.XYZ    VIDEO.ANTICHAT.XYZ    НОВЫЕ СООБЩЕНИЯ    ФОРУМ  
Баннер 1   Баннер 2
Antichat снова доступен.
Форум Antichat (Античат) возвращается и снова открыт для пользователей. Здесь обсуждаются безопасность, программирование, технологии и многое другое. Сообщество снова собирается вместе.
Новый адрес: forum.antichat.xyz
Вернуться   Форум АНТИЧАТ > Программирование > С/С++, C#, Delphi, .NET, Asm
   
Ответ
 
Опции темы Поиск в этой теме Опции просмотра

Как прочитать все записи в ключе реестра?RegEnumValue
  #1  
Старый 04.10.2008, 21:38
_nic
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме:
2982851

Репутация: 107


По умолчанию Как прочитать все записи в ключе реестра?RegEnumValue

Собрать имена записей не проблема
Код:
char *buf=new char[1024*1024];
char *buff=new char[1024*10];
long retd;
HKEY key;DWORD datind=0;
char Name[MAX_PATH], Value[MAX_PATH];;
DWORD NameSize,tip,ValueSize;
if(RegOpenKeyEx(HKEY_CURRENT_USER,"Console",0,KEY_ALL_ACCESS,&key)==ERROR_SUCCESS)
{
for(;;)
{
NameSize=MAX_PATH;
retd=RegEnumValue(key,datind++,&Name[0],&NameSize,NULL,&tip,(unsigned char*)&Value[0],&ValueSize);
wsprintf(buff,"%s\n",Name);
strcat(buf,buff);
if(retd==ERROR_NO_MORE_ITEMS){break;}
}}
А вот со всем с остальным проблема
Вот к если пытатся вывести значение ключа с 16ричным числом wsprintf(buff,"%х",Value); то значения получается абсолютно иные чем те что видны в регедите.
 
Ответить с цитированием

  #2  
Старый 04.10.2008, 21:50
FrMn
Познающий
Регистрация: 08.08.2008
Сообщений: 55
Провел на форуме:
369629

Репутация: 54
По умолчанию

RegEnumValue...
вот гугл покозал http://www.tenouk.com/ModuleP.html
Цитата:
Вот к если пытатся вывести значение ключа с 16ричным числом wsprintf(buff,"%х",Value);
поидее в твоем случае надо *(DWORD*)Value

Последний раз редактировалось FrMn; 04.10.2008 в 21:57..
 
Ответить с цитированием

  #3  
Старый 05.10.2008, 14:14
_nic
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме:
2982851

Репутация: 107


По умолчанию

Цитата:
Сообщение от FrMn  
RegEnumValue...
вот гугл покозал http://www.tenouk.com/ModuleP.html

поидее в твоем случае надо *(DWORD*)Value
Я правильно понял что это преобразование надо для вывода значения записей типа REG_DWORD ?
 
Ответить с цитированием

  #4  
Старый 05.10.2008, 15:42
FrMn
Познающий
Регистрация: 08.08.2008
Сообщений: 55
Провел на форуме:
369629

Репутация: 54
По умолчанию

да
 
Ответить с цитированием

  #5  
Старый 05.10.2008, 19:44
_nic
Постоянный
Регистрация: 05.05.2006
Сообщений: 743
Провел на форуме:
2982851

Репутация: 107


По умолчанию

Цитата:
Сообщение от FrMn  
да
Что то у меня неочень получается определять тип записи
Набрасал такую вот структуру
Код:
struct {UINT type;LPCSTR name;}
RGTP [] = {
   { REG_BINARY, "REG_BINARY" },
   { REG_DWORD, "REG_DWORD" },
   { REG_DWORD_LITTLE_ENDIAN,  "REG_DWORD_LITTLE_ENDIAN" },
   { REG_DWORD_BIG_ENDIAN,  "REG_DWORD_BIG_ENDIAN" },
   { REG_EXPAND_SZ,"REG_EXPAND_SZ" },
   { REG_LINK, "reserved for system" },
   { REG_MULTI_SZ, "REG_MULTI_SZ" },
   { REG_NONE, "No defined value type." },
   { REG_QWORD, "REG_QWORD" },
   { REG_QWORD_LITTLE_ENDIAN,"REG_QWORD_LITTLE_ENDIAN"},
   { REG_SZ, "REG_SZ" },
   { 0, NULL},
};
Юзаю так sprintf(buff,"%s",RGTP[tip].name) но получается полная фигня
 
Ответить с цитированием

  #6  
Старый 05.10.2008, 19:54
FrMn
Познающий
Регистрация: 08.08.2008
Сообщений: 55
Провел на форуме:
369629

Репутация: 54
По умолчанию

фигня получается, потомучто фигня написанна, посмори константы REG_XXX...
сделай массив указателей на строки в том порядке, в котором идут константы, тогда получится. чтото похожее на след код:
Код:
char *type_arr[]={"none","sz","szexpand","binary","dword","dword big"....};
sprintf(buf,"%s",type_arr[tip]);
 
Ответить с цитированием
Ответ



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Юмор. Анекдоты, смешные рассказы/логи. Mobile Болталка 1356 16.06.2010 16:46
Отношения с девушками SuNDowN Болталка 125 11.11.2008 22:52
Архив статей по раскрутке сайта SQL SЕО - тонкости, методы раскрутки 1 21.08.2008 16:30
Вредоносное ПО как феномен. Часть 1 Spider Agent Авторские статьи 9 21.03.2008 07:40
Как стать хакером! foreva Болталка 19 12.12.2007 00:12



Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ