Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » VC++ / MFC » Problem beim auslesen der Registry (DWORD)

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
17.01.2006, 11:58 Uhr
LowFly



hy,
ich hab ein problem bei einer dll aus der ich auf die registry auf einen DWORD wert zugreifen will.

ich versuche verzweifelt mit

C++:
add_log("Regtest: %i",m_pReg->DwQueryValueEx(HKEY_CURRENT_USER,(LPCTSTR)"Software\\TestProg\\Settings",(LPCTSTR)"EndTool"));


mir einen Dword wert anzeigen zu lassen. der wert steht in der Registry mit 0 in der log wird er mir aber mit 124048 angezeigt??


C++:
DWORD CRegistryCtrl::DwQueryValueEx(HKEY hMasterKey, LPCTSTR lpSubKey, LPCTSTR lpValueName)
{
    HKEY hKey;
    DWORD dwType=REG_NONE;
    DWORD dwValueWert;
    BYTE Data[1024]="";
    DWORD dwDataSize=sizeof(Data);

    RegOpenKey(hMasterKey, lpSubKey, &hKey);

    RegQueryValueEx(hKey, lpValueName, 0, &dwType, (BYTE*) &Data, &dwDataSize);

    dwValueWert = (DWORD)Data;

    RegCloseKey(hKey);
    
    return dwValueWert;
}



kann mir da bitte jemand helfen?
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
17.01.2006, 23:10 Uhr
Spacelord
Hoffnungsloser Fall


Hi,
warum legst du nen 1024 Byte grossen Puffer an wenn du "nur" nen DWORD auslesen möchtest?

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
18.01.2006, 07:28 Uhr
Tommix



'Morgen,
außerdem ist Data schon ein Pointer, (BYTE*) &Data würde bedeuten, das dort die Zieladresse abgelegt ist. Aber wie Spacelord schon postete:

C++:
DWORD dwType=REG_DWORD;
DWORD Data;


ergibt eher einen Sinn.

- Tommix
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
18.01.2006, 15:46 Uhr
LowFly



@Spacelord
da ich zuvor pfade und strings ausgelesen hab(bzw. die funtionen dafür erstellt hab) und ich den puffer einfach übernommen hab.

@Tommix
REG_NONE war einfach nur ein versuch aus verzweiflung
und mit DWORD Data hat es mir auch den gleichen mumpids ausgebene wie oben schon beschrieben 124048 anstatt 0.

ich habs jetzt hinbekommen mit untemstehenden code.

C++:
DWORD CRegistryCtrl::QueryDwValueEx(HKEY hMasterKey, LPCTSTR lpSubKey, LPCTSTR lpValueName)
{
    .......
    RegQueryValueEx(hKey, lpValueName, 0, &dwType, (BYTE*) Data, &dwDataSize);
    .......
    DWORD* dwValueWert = (DWORD*)Data;
    
    return *dwValueWert;
}



aber trotzdem danke
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ VC++ / MFC ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: