begin process at 2012 05 30 16:16:45
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C/C++

 > 

Archives

 > 

Au secours

 > 

registre windows - lecture d'une valeur


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

registre windows - lecture d'une valeur

samedi 26 novembre 2005 à 17:41:08 | registre windows - lecture d'une valeur

shadow1779

Membre Club
bonjour, voila je veux lire dans la valeur InstallPath de ma clé, j'voudrai en fait faire un:
char path[150]; et enregistrer ce que retournera RegQueryValue

HKEY hkey;

RegOpenKey(HKEY_LOCAL_MACHINE,"SOFTWARE\\Activision\\Call of Duty 2",&hkey);
RegQueryValue(hkey, "SOFTWARE\\Activision\\Call of Duty 2", "InstallPath", NULL);
samedi 26 novembre 2005 à 19:38:22 | Re : registre windows - lecture d'une valeur

BruNews

Administrateur CodeS-SourceS

HKEY hKey;
long lerr;
char szpath[MAX_PATH];
DWORD dwLen = MAX_PATH;

if(RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Activision\\Call of Duty 2",
                  0, KEY_QUERY_VALUE, &hKey)) return;
lerr = (RegQueryValueEx(hKey, "InstallPath", 0, 0, (BYTE*) szpath, &dwLen);
RegCloseKey(hKey);
if(lerr) return;
Ici va bon, szpath est rempli

ciao...
[ Lien ]
BruNews, MVP VC++

samedi 26 novembre 2005 à 20:51:30 | Re : registre windows - lecture d'une valeur

shadow1779

Membre Club
en reprennant ton code j'ai mis ca

#include <windows.h>
#include <stdio.h>

int main()
{
HKEY hKey;
long lerr;
char szpath[MAX_PATH];
DWORD dwLen = MAX_PATH;

RegOpenKeyEx(HKEY_LOCAL_MACHINE, "SOFTWARE\\Activision\\Call of Duty 2",0, KEY_QUERY_VALUE, &hKey);

lerr = RegQueryValueEx(hKey, "InstallPath", 0, 0, (BYTE*) szpath, &dwLen);
RegCloseKey(hKey);
printf("la directory d'install est: %ld",szpath);

return 0;
}

le probleme c'est que dans la valeur installpath, chez moa ca donne C:\Program Files\Activision\Call of Duty 2\, mais ca peut donner autre chose chez quelqu'un d'autre d'ou la verification, sauf que quand y a mon printf("la directory d'install est: %ld",lerr); ca me dis que c'est 0 :s
samedi 26 novembre 2005 à 21:13:27 | Re : registre windows - lecture d'une valeur

BruNews

Administrateur CodeS-SourceS
lerr donne 0 si PAS D'ERREUR, le chemin est dans szpath.
Donc:
if(lerr) AfficheErreur
else Affiche szpath
vraiment je ne vois pas le problème.

ciao...
[ Lien ]
BruNews, MVP VC++
samedi 26 novembre 2005 à 21:34:17 | Re : registre windows - lecture d'une valeur

shadow1779

Membre Club
ah non en fait ca va, javai mis %ld, il me le declarait en chiffres :s mais j'ai mis %s comme si c'etait une chaine de caractere et il lis bien, par contre je ne comprend pas ce que veux dire (BYTE*) szpath si tu pouvais m'expliquer en gros
samedi 26 novembre 2005 à 22:05:08 | Re : registre windows - lecture d'une valeur

BruNews

Administrateur CodeS-SourceS
Juste un cast pour contenter le compilo car RegQueryValueEx demande un BYTE* (pointeur sur unsigned char) mais que szchar est déclaré pointeur sur signed char.
La vérification du type à la compilation est un des trucs qui aide le dev pour éviter les erreurs, à part ça c'est sur qu'un pointeur n'est rien d'autre qu'une adresse donc un nbr. C'est d'ailleurs pour cela qu'on peut caster nimporte quel type de pointeur vers nimporte quel autre type de pointeur.

ciao...
[ Lien ]
BruNews, MVP VC++


Cette discussion est classée dans : lecture, windows, valeur, registre, hkey


Répondre à ce message

Sujets en rapport avec ce message

Registre windows en lecture [ par shadow1779 ] Bonjour,j'aimerai de l'aide si possible sur le registre windows j'arrive a creer une clé , ou l'ouvrir, a en supprimer une... etc mais pas a lire une ecrire une valeur dans la base de registre [ par yerosnimus ] bonjour,en dépit de toute la littérature trouvée sur ce site concernant l'écriture de clé dans la base de registre windows, je n'y arrive pas ou pas t ecrire dans le registre windows 7 en c [ par kirbydu94 ] Bonjour, je souhaiterais développer un logiciel me permettant d'écrire dans le registre en c. Cependant j'aimerais écrire dans le répertoire précis Windows XP - Windows 7 [ par ArthurAuguste ] Bonjour, J'ai sous XP un programme qui marche très bien : pour résumer un simple prog1.exe avec fenêtre en C qui fait une lecture - écriture dans le r registre chez vista ou windows 7 [ par baby3378 ] Bonjour à tous, Voila, j'ai un problème pour écrire dans la base de registre. J'ai crée un petit ensemble d'outils qui doivent démarer avec windows. RegSaveKeyEx [ par PriMe2302 ] Bonjour, Je voudrais sauvegarder un clé registre ainsi que toutes ses sous-clé. En faisant une recherche sur le site de msdn, j'ai fait ce code : i win32 registre renseigner valeur "(par défaut)" d'une clé [ par rastalalalolo ] Bonjour All, Voila j'ai un souci, je n'arrive pas à modifier la valeur "(par défaut)" d'une clé dans le registre. Cette valeur correspond à celle de l Problème de registre [ par rvkiki ] Bonjour,j'ai un petit problème de registre. J'utilise un service pour déclencher automatiquement l'exécution d'une appli au démarrage d'une machine. C RegSetValue() [ par shadow1779 ] Bonjour, j'essai d'apprendre a manipuler le registre windows en C, pour cela j'essai de mettre une clé dans un endroit bien precis (voir exemple) ma Base de registre avec utilisateur non-administrateur [ par Leonel67 ] Bonjour à tousVoilà j'ai un problème d'accès à la base registre avec les systèmes multi-utilisateur, genre WIN2000 ou WIN XP pro.Voici le code que j'u


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

Photothèque

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 2,480 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales