#include <cstdlib>
#include <iostream>
#include <windows.h>
using namespace std;
int main(int argc, char *argv[])
{
HKEY hKey;
LPTSTR lpszName;
LONG lReturn;
DWORD dwIndex = 0;
DWORD dwNameLen, dwMaxNameLen;
if ( RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE", 0, KEY_ALL_ACCESS, &hKey ) == ERROR_SUCCESS )
{
RegQueryInfoKey( hKey, NULL, NULL, NULL, NULL, &dwMaxNameLen, NULL, NULL, NULL, NULL, NULL, NULL );
dwMaxNameLen++;
lpszName = (LPTSTR)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, dwMaxNameLen );
do
{
dwNameLen = dwMaxNameLen;
lReturn = RegEnumKeyEx( hKey, dwIndex, lpszName, &dwNameLen, NULL, NULL, NULL, NULL );
if ( lReturn != ERROR_NO_MORE_ITEMS )
{
cout<<lpszName<<endl;//выводим название найденного ключа
}
dwIndex++;
}
while( lReturn != ERROR_NO_MORE_ITEMS );
}
system("PAUSE");
return EXIT_SUCCESS;
}
папки реестра!
то есть например в HKEY_CURRENT_USER\Software\MyProgram есть папки data, config и так далее, так вот как мне получить все эти папки?
RegEnumKeyEx. также тебе понадобятся функции RegOpenKeyEx, RegCloseKey. API функции для работы с реестром.
P.S.
[quote=geza]папки реестра![/quote]
ключи.
используй функцию
P.S.
[quote=geza]папки реестра![/quote]
ключи.
Цитата: kosfiz
используй функцию RegEnumKeyEx. также тебе понадобятся функции RegOpenKeyEx, RegCloseKey. API функции для работы с реестром.
P.S.
ключи.
P.S.
ключи.
Спасибо, надо попробовать.
А как получить название найденного ключа?
вот примерчик:
спасибо
а не кто не знает для чего нужен этот - HKEY_USERS\.DEFAULT\Software\Microsoft\Windows\ShellNoRoam\MUICache ключ?
если я не ошибаюсь, то этот ключ отвечает за то, как будет выглядеть рабочий стол и эксплорер. например если поменять значение @C:\WINDOWS\system32\SHELL32.dll,-8964 на "коробка", то на рабочем столе под значком корзины будет надпись "коробка", а не "корзина".
Спасибо!!!
А как прочитать двоичный параметр???
используй функцию RegQueryValueEx. её описание можно найти по ссылке, которую я давал в первом своем посте в этой теме. там и пример использования есть.