Bonjour,

J'ai un pb de lecture d'une valeur de clé dans la base de registre.
J'arrive bien à récupérer la valeur d'une clé REG_SZ mais là j'ai besoin de récupérer une REG_DWORD.


j'ai fait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
static HKEY hKey;
char Buf[300];
DWORD dwBufLen = sizeof(Buf);
char BufBuild[300];
DWORD dwBufBuildLen = sizeof(BufBuild);
 
if( RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\\MaCle",0,KEY_ALL_ACCESS,&hKey ) == ERROR_SUCCESS )
{
    if (RegQueryValueEx( hKey, "ProgramVer", NULL, NULL, &Buf, &dwBufLen) == ERROR_SUCCESS)
    {
 
    }
}
Ceci fonctionne avec une clé REG_SZ


et pour avoir la clé REG_DWORD si je fais :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
 
static HKEY hKey;
char Buf[300];
DWORD dwBufLen = sizeof(Buf);
char BufBuild[300];
DWORD dwBufBuildLen = sizeof(BufBuild);
 
if( RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\\MaCle",0,KEY_ALL_ACCESS,&hKey ) == ERROR_SUCCESS )
{
    if (RegQueryValueEx( hKey, "BuildNum", NULL, REG_DWORD, &BufBuild, &dwBufBuildLen) == ERROR_SUCCESS)
    {
 
    }
}
Là ça plante carrément.

Que faire ?
Merci pour votre aide.