Vérifier valeur registre

Résolu
cs_Sniperr
Messages postés
45
Date d'inscription
vendredi 2 septembre 2005
Statut
Membre
Dernière intervention
28 juin 2009
- 22 mai 2008 à 18:55
cs_Sniperr
Messages postés
45
Date d'inscription
vendredi 2 septembre 2005
Statut
Membre
Dernière intervention
28 juin 2009
- 24 mai 2008 à 14:41
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

BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
24 mai 2008 à 10:13
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++
3
BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
22 mai 2008 à 19:05
Au plus simple, tu controles le retour de RegOpenKeyEx et ensuite RegQueryValueEx si la précédente a réussi.

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

22 mai 2008 à 19:36
Auriez-vous un exemple concret de son utilisation ?
Merci encore
0
BruNews
Messages postés
21041
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
22 mai 2008 à 20:01
Déjà dans mes sources et certainement de nombreuses autres.

ciao...
BruNews, MVP VC++
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_Sniperr
Messages postés
45
Date d'inscription
vendredi 2 septembre 2005
Statut
Membre
Dernière intervention
28 juin 2009

23 mai 2008 à 18:00
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.
0
cs_Sniperr
Messages postés
45
Date d'inscription
vendredi 2 septembre 2005
Statut
Membre
Dernière intervention
28 juin 2009

24 mai 2008 à 14:41
Ca marche à la perfection, merci beaucoup ^^
0