Bonjour,

je récupère une valeur du registre dans un whar_t* (LPTSTR en unicode quoi)
et par la suite j'aimerais le stocker dans un QString

mon code est le suivant :
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
CRegKey reg;
    wchar_t* sVal;
    DWORD dwLen = 512;
    int iResult;
 
    iResult = reg.Open( HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Realtime Soft\\UltraMon"), KEY_READ | KEY_WOW64_64KEY );
    if ( iResult == ERROR_SUCCESS )
    {
        iResult = reg.QueryStringValue( _T("CurrentVersion"), sVal, &dwLen );
        if ( iResult == ERROR_SUCCESS )
        {
            _tprintf( TEXT("%i - %s"), dwLen, sVal );
            // m_sUMVersion = QString::fromWCharArray(sVal, dwLen);
        }
    }
ce qui me donne en sortie : "6 - 3.2.1" et me fait penser que sVal est bien null terminated

si je décommente la dernière ligne, le programme compile bien mais il crash à l’exécution (Test.exe a cessé de fonctionner)

j'ai débugué avec VC++2010 : Violation d'accès lors de l'écriture à l'emplacement 0xffffffff

je suis un peu largué