Перечисление элементов реестра используя API. У меня установлена программа RegCleaner, в которой можно просмотреть элементы автозапуска. Сейчас попытаюсь объяснить, как сделать перечисление значений ключа реестра, для этого существует API функция RegEnumValue.
Для начала необходимо открыть ключ реестра с помощью RegOpenKeyEx, после, перечисляем, последний шаг закрыть ключ RegCloseKey.
LONG lResCode;
DWORD dwValue = 256;
DWORD dwIndex = 0;
char szName[256];
HKEY hKey;
LONG lRes=RegOpenKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Run",NULL,KEY_ALL_ACCESS,&hKey);
if(lRes!=ERROR_SUCCESS){cout<<"Error RegOpenKeyEx"<<endl;}
else
{
do
{
dwValue = 256;
szName[0]='\0';
lResCode = RegEnumValue(hKey,dwIndex,szName,&dwValue,NULL,NULL,NULL,NULL);
if(lResCode == ERROR_SUCCESS){cout<<szName<<endl;}
else{cout<<"..."<<endl;}
dwIndex++;
}while(lResCode != ERROR_NO_MORE_ITEMS);
}
RegCloseKey(hKey);
