Okay, for some reason when I call RegQueryValueEx, my buffer pads every other byte with a space. So the output is something like "1 0 0 1 u s w e s t" and so on... I've tried a few different methods but can't seem to nail this one...
On top of that, when I cout the data, it only prints the first byte...
Code:int main () { HKEY hKey; DWORD cType; char lpData[1024] = {0}; DWORD buffersize = sizeof(lpData); if(RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Software\\Blizzard Entertainment\\Warcraft III"),NULL,KEY_READ,&hKey) == ERROR_SUCCESS) { cout << "Opened successfully"; }else{ cout << "Failed to open reg key: " << GetLastError() << "\n"; } RegQueryValueEx(hKey,TEXT("Battle.net Gateways"),NULL,&cType,(LPBYTE) lpData,&buffersize); cout << "Registry Key Open: mem key location=" << hKey << "\n\n"; cout << "Data: " << lpData; RegCloseKey (hKey); system("Pause"); }




Reply With Quote