Bonjour,

J'ai besoin de lire 2 clés de registre, et veut retourner lúne d'elles via un pointeur sur une CString.
J'ai donc écrit 2 lectures de clés de registre. Mais voila quelquesoit la valeur que je choisit de renvoyer (soit la première valeur lue soit la deuxième), c'est toujours la seconde qui est renvoyée!!!!

Dans l'exemple ci-dessous. je lis les 2 clés et lit le &OPRunFolder renvoyé . On remarque que je demande la première valeur, cependant &OPRunFolder contient la seconde valeur!

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
 
    HKEY hKey = NULL;
    LONG lResult;
    DWORD type, size=255;
    CString OPFolderPath, RunFolder;
    CString NoOPResultString="NoOP";
 
//PDSView+VLC Study Case
    lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\Schlumberger\\PDSView",0,KEY_QUERY_VALUE,&hKey);
    if (lResult != ERROR_SUCCESS)
    {    
        //OP is not installed
        return &NoOPResultString;
    }
    lResult = RegQueryValueEx( hKey, "Path", NULL, &type, (unsigned char *)(LPCTSTR)OPFolderPath, &size );
    RegCloseKey(hKey);
    OPRunFolderPath = OPFolderPath;
 
    lResult = RegOpenKeyEx(HKEY_LOCAL_MACHINE,"Software\\VideoLAN\\VLC",0,KEY_QUERY_VALUE,&hKey);
    if (lResult != ERROR_SUCCESS)
    {    
        //OP is not installed
        return &NoOPResultString;
    }
    lResult = RegQueryValueEx( hKey, "InstallDir", NULL, &type, (unsigned char *)(LPCTSTR)RunFolder, &size );
    RegCloseKey(hKey);
 
    return &OPRunFolderPath;