Перечисление элементов реестра используя 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);