» »

[C++] [WIN] RegOpenKeyEx & RegQueryValueEx

[C++] [WIN] RegOpenKeyEx & RegQueryValueEx

BigWhale ::

  HKEY key;
  long  res;
  char data[1024];
  DWORD type = REG_SZ;
  DWORD dataLen = sizeof(data);

  res = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Myprogram", 0, KEY_READ, &key);
  res = RegQueryValueEx(key,"InstallDir", NULL, &type, (LPBYTE)&data, &dataLen);
  if(res == ERROR_SUCCESS)
  {
    printf("First value found...\n");
  }
  RegCloseKey(key);
  printf("************** OPENING! \n");
  res = RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Myprogram", 0, KEY_READ, &key);
  res = RegQueryValueEx(key,"DataDir", NULL, &type, (LPBYTE)&data, &dataLen);
  if (res == ERROR_SUCCESS)
  {
    printf("Yap, second value here also \n");
  }
  RegCloseKey(key);




Naj mi nekdo razlozi, zakaj mi pri branju druge vrednosti program VEDNO vrne ERRNO 234 (More Data).

To se dogaja ne glede na to, ce
a) odprem key, preberem vrednost, zaprem key, odprem key, preberem vrednost, zaprem key
b) odprem key, preberem vrednost, preberem drugo vrednost, zaprem key

Ce odprem key in dvakrat preberem isto vrednost InstallDir, potem je vse ok in dvakrat vrne pravilen rezultat.

Ce odprem key, preberem drugo vrednost in zaprem, je spet vse ok.

Torej, zakaj hudica ne morem prebrat dveh vrednosti iz enega keya, drugo za drugim.

Kje sem zgresil? :)
  • spremenil: BigWhale ()

BigWhale ::

Vsi kljuci so REG_SZ in nobeden od njih ni daljsi od 1024 bytov.

BigWhale ::

Pozabte...

Zadnji parameter od RegQueryValueEx()

je in/out parameter in povozi prvotno dolzino stringa, ki naj jo stvar prebere...

Jao, jao...


Vredno ogleda ...

TemaSporočilaOglediZadnje sporočilo
TemaSporočilaOglediZadnje sporočilo
»

Windows 7 Installer (64-bit) - težave

Oddelek: Programska oprema
153004 (2394) fr!Xy
»

AT komande

Oddelek: Programska oprema
161903 (1424) noraguta
»

Windows XP težave...

Oddelek: Operacijski sistemi
141862 (1728) edey
»

Ne morem ugasnt računalnika- Ni Shutdown - a , manjka Run, Log off, TM je disablan. S

Oddelek: Pomoč in nasveti
61468 (1387) cortez
»

Trdi disk mi melje kot zmešan

Oddelek: Pomoč in nasveti
202171 (1632) Nande

Več podobnih tem