DWORD aus Registry auslesen?



  • Hallo zusammen,

    ich bin jetzt schon seit längerem dran ein DWORD-Eintrag aus der
    Registry auszulesen. Allerdings funzt es nich. Er zeigt mir immer
    an, dass der DWORD "0" wäre. Kann mir jemand vieleicht sagen warum?
    Hier mein bisheriger Code.

    HKEY keymain;
    DWORD dwtest=5, Typ=REG_DWORD, dwsize=10;
    char test[10];
    int value=test[0];
    
    int main() {
        RegCreateKey(HKEY_LOCAL_MACHINE,"Software\\Test",&keymain);
        RegCloseKey(keymain);
    
        RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Test",0,KEY_ALL_ACCESS,&keymain);
        RegSetValueEx(keymain,"Test Dword",0,REG_DWORD,(BYTE*)&dwtest,sizeof(DWORD));
        RegCloseKey(keymain);
    
        RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Test",0,KEY_ALL_ACCESS,&keymain);
        RegQueryValueEx(keymain,"Test Dword",0,&Typ,(BYTE*)test,&dwsize);
        RegCloseKey(keymain);
    
        printf("\nDword Value ist: %i\n",value);
    
    return 0;
    }
    

    Danke
    yogle



  • Schon mal auf die Idee gekommen in Einzelschritten durch den Code zu gehen oder zumindest mal GetLastError aufzurufen?



  • ....
    
    DWORD dwNumber = 0; 
    DWORD dwData = sizeof(DWORD); 
    RegQueryValueEx(HKEY_LOCAL_MACHINE,"Software\\Test",0,0,(BYTE*)&dwNumber,&dwData); 
    
    printf("\nDword Value ist: %i\n",dwData);
    
    ....
    


  • OK danke,

    der Code von LunaGirl funktioniert.


Anmelden zum Antworten