Vérifier valeur registre [Résolu]

Signaler
Messages postés
45
Date d'inscription
vendredi 2 septembre 2005
Statut
Membre
Dernière intervention
28 juin 2009
-
Messages postés
45
Date d'inscription
vendredi 2 septembre 2005
Statut
Membre
Dernière intervention
28 juin 2009
-
Bonsoir,
J'aimerais savoir comment vérifier si (par exemple) la valeur "Version" existe dans "HKEY_LOCAL_MACHINE\SOFTWARE\AGORA Software BV\codevb".
J'aimerais pouvoir retourner un int à 1 si la valeur existe, et 0 si elle n'existe pas.

6 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
int AbsentRegUserValeur(char *cleNom, char *valNom)
{
  HKEY hKey;
  int R;
  if(R = RegOpenKeyEx(HKEY_CURRENT_USER, cleNom, 0, KEY_QUERY_VALUE, &hKey)) goto valEXIT;
  R = RegQueryValueEx(hKey, valNom, 0, 0, 0, 0);
  RegCloseKey(hKey);
valEXIT: return R;
}


void TesterRegVal()
{
  if(AbsentRegUserValeur("Control Panel\\Mouse", "Beep")) return;
  MessageBox(0, "PRESENT", "CLE", 0);
}

ciao...
BruNews, MVP VC++
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
Au plus simple, tu controles le retour de RegOpenKeyEx et ensuite RegQueryValueEx si la précédente a réussi.

ciao...
BruNews, MVP VC++
Messages postés
45
Date d'inscription
vendredi 2 septembre 2005
Statut
Membre
Dernière intervention
28 juin 2009

Auriez-vous un exemple concret de son utilisation ?
Merci encore
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
24
Déjà dans mes sources et certainement de nombreuses autres.

ciao...
BruNews, MVP VC++
Messages postés
45
Date d'inscription
vendredi 2 septembre 2005
Statut
Membre
Dernière intervention
28 juin 2009

J'ai pu observer dans une de vos sources le code suivant "  if(RegOpenKeyEx(HKEY_CURRENT_USER, szKEYNAME, 0, KEY_ALL_ACCESS, &hkey)) return;"
Je ne comprend pas à quoi sert le "0" et le "KEY_ALL_ACCESS".
Serait-il possible de me fournir un exemple avec modification de valeur d'une variable (int) sur 1 si la clé existe, ou sur 0 si elle n'éxiste pas ?
Merci encore.
Messages postés
45
Date d'inscription
vendredi 2 septembre 2005
Statut
Membre
Dernière intervention
28 juin 2009

Ca marche à la perfection, merci beaucoup ^^