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 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
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 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
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 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
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
Rejoignez-nous