Bonjour,

J'essaie de retrouver le chemin complet d'une source de données ODBC
mais je ne comprends rien au resultat de mes tests :
Je passe sytématiquement dans la routine d'erreur qui m'affiche "L'Opération a réussi" !!!
Voici le code :
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
 
static HKEY  hKey;
LPBYTE data;
char Buf[MAX_PATH];
DWORD  dwBufLen = sizeof(Buf);
LPDWORD lpType;
LPVOID lpMsgBuf;
char SubKey[] = "Software\\ODBC\\ODBC.INI\\compta";
//    data=Buf[0];
//
  if (RegOpenKeyEx (HKEY_CURRENT_USER, SubKey, 0, 0, &hKey) == ERROR_SUCCESS) {
    if (RegQueryValueEx( hKey, "DBQ", NULL, NULL, (LPTSTR)&data, &dwBufLen) == ERROR_SUCCESS)
       MessageBox(NULL, (LPCTSTR)data, "Erreur RegQueryValueEx", MB_OK|MB_ICONINFORMATION);
    else {
        FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | 
                       FORMAT_MESSAGE_FROM_SYSTEM | 
                       FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), 0, (LPTSTR) &lpMsgBuf, 0, NULL);
        MessageBox(NULL, (LPCTSTR)lpMsgBuf, "Resultat RegQueryValueEx", MB_OK|MB_ICONINFORMATION);
     }
   }
  else {
        FormatMessage( FORMAT_MESSAGE_ALLOCATE_BUFFER | 
                       FORMAT_MESSAGE_FROM_SYSTEM | 
                       FORMAT_MESSAGE_IGNORE_INSERTS, NULL, GetLastError(), 0, (LPTSTR) &lpMsgBuf, 0, NULL);
      MessageBox(NULL, (LPCTSTR)lpMsgBuf, "Erreur RegOpenKeyEx", MB_OK|MB_ICONINFORMATION);
  }
  RegCloseKey(hKey);
Certes, je n'ai plus programmé en C depuis un certain temps,
mais si quelqu'un peut me dépanner ...

Merci d'avance