Registre windows en lecture [Résolu]

Messages postés
707
Date d'inscription
mercredi 17 novembre 2004
Dernière intervention
29 septembre 2013
- - Dernière réponse : ymca2003
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Dernière intervention
3 juillet 2006
- 16 déc. 2005 à 11:45
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 valeur, par exemple je sais qu'il faut faire comme dans l'exemple en bas mais je bloque pour le reste, quelqu'un pourrait t'il me faire un code vite fais pour que je comprenne

HKEY hkey;
RegCreateKey(HKEY_LOCAL_MACHINE,"chemin",&hkey);
RegQueryValueEx(hkey, "valeur", NULL, NULL, j'en sais rien, idem);
Afficher la suite 

Votre réponse

9 réponses

Meilleure réponse
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Dernière intervention
3 juillet 2006
3
Merci
HKEY hKey;
char szValue[256] = "";
unsigned long dwLen = 256;

RegCreateKey(HKEY_LOCAL_MACHINE,"software\\Gamesettings",&hkey);
RegQueryValueEx(hkey, "Version", NULL, NULL, (LPBYTE)szValue
, &dwLen);
MessageBox(NULL,szValue,NULL,0);

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources a aidé 106 internautes ce mois-ci

Commenter la réponse de ymca2003
Messages postés
41
Date d'inscription
jeudi 16 juin 2005
Dernière intervention
3 mars 2006
0
Merci
Hello,
voila une fonction que j'ai créé pour lire le chemin d'install de visual C++ dans la base de registre:

CString CTools::SearchVisual60InRegistry()
{
LONG status;

char lpValue[1000];
unsigned long lpcbValue= 1000;
long ulOptions=0;
HKEY phkResult;
VALENT val_list;
DWORD num_vals;

//open
status=RegOpenKey
(
HKEY_LOCAL_MACHINE,
"software\\Microsoft\\VisualStudio\\6.0\\SetUp\\Microsoft Visual C++",
&phkResult
);

if(status!=ERROR_SUCCESS)
{
RegCloseKey(phkResult);
return "";
}

val_list.ve_valuename="ProductDir";
val_list.ve_valuelen=10;
val_list.ve_valueptr=0;
val_list.ve_type=REG_SZ;

num_vals=1;//sizeof val_list;


status= RegQueryMultipleValues
(
phkResult, // handle to key to query
&val_list, // pointer to array of value entry structures
num_vals, // size of array of value entry structures
lpValue, // pointer to buffer for value information
&lpcbValue // pointer to size of value buffer
);


if(status! =ERROR_SUCCESS)
{
RegCloseKey(phkResult);
return "";
}

RegCloseKey(phkResult);

GetShortPathName(lpValue,lpValue,1000);

return lpValue;
Commenter la réponse de CoyoteVsBeepBeep
Messages postés
707
Date d'inscription
mercredi 17 novembre 2004
Dernière intervention
29 septembre 2013
0
Merci
:s on m'a dit d'utiliser regqueryvalue :s c'est pas sa :s, et puis je comprend pas tout a fait a quoi sert le var_list et num_vals, bref c'est tres flou le registre, puis msdn explique vraiment mal
Commenter la réponse de shadow1779
Messages postés
117
Date d'inscription
vendredi 5 novembre 2004
Dernière intervention
15 janvier 2013
0
Merci
Salut, pour récupérer la valeure d'une clée dans la base de registre tu peux faire comme ca :

HKEY hKey;

unsigned
long dwLen;
char szValue[256] = "";


//Tu ouvres la clée
RegOpenKey(HKEY_LOCAL_MACHINE, "Chemin", &hKey);

//Et tu récupère la valeure
RegQueryValueEx(hKey, "Nom de la valeure", NULL, NULL, (LPBYTE)&szValue, &dwLen);



NeoUmbrella Corp.
Commenter la réponse de NeoUmbrella
Messages postés
707
Date d'inscription
mercredi 17 novembre 2004
Dernière intervention
29 septembre 2013
0
Merci
et szValue et dwLen je les déclare comment (char , int, dword...)
.
Commenter la réponse de shadow1779
Messages postés
707
Date d'inscription
mercredi 17 novembre 2004
Dernière intervention
29 septembre 2013
0
Merci
euh oups dsl j'avai pas vu au dessus -_-
.
Commenter la réponse de shadow1779
Messages postés
707
Date d'inscription
mercredi 17 novembre 2004
Dernière intervention
29 septembre 2013
0
Merci
j'ai un petit probleme je fais ceci en ayant bien déclaré key et dwLen mais a la messagebox que j'ai fais en vérication il n'y a aucune donnée..

voici mon code,

RegCreateKey(HKEY_LOCAL_MACHINE,"software\\Gamesettings",&hkey);
RegQueryValueEx(hkey, "Version", NULL, NULL, (LPBYTE)&key, &dwLen);
MessageBox(NULL,key,NULL,0);
Commenter la réponse de shadow1779
Messages postés
707
Date d'inscription
mercredi 17 novembre 2004
Dernière intervention
29 septembre 2013
0
Merci
bizarre ca marche :s alors que j'avais fais la meme chose sauf que j'avai remplacé le nom szValue par key
Commenter la réponse de shadow1779
Messages postés
2070
Date d'inscription
mardi 22 avril 2003
Dernière intervention
3 juillet 2006
0
Merci
Il te manquait unsigned long dwLen = 256;
Commenter la réponse de ymca2003

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.