Registre windows en lecture

Résolu
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013 - 14 déc. 2005 à 17:03
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre 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);

9 réponses

ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
15 déc. 2005 à 19:29
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);
3
CoyoteVsBeepBeep Messages postés 41 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 3 mars 2006
14 déc. 2005 à 17:12
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;
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
14 déc. 2005 à 17:47
: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
0
NeoUmbrella Messages postés 117 Date d'inscription vendredi 5 novembre 2004 Statut Membre Dernière intervention 15 janvier 2013
14 déc. 2005 à 23:06
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.
0

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

Posez votre question
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
15 déc. 2005 à 08:53
et szValue et dwLen je les déclare comment (char , int, dword...)
.
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
15 déc. 2005 à 08:57
euh oups dsl j'avai pas vu au dessus -_-
.
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
15 déc. 2005 à 18:27
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);
0
shadow1779 Messages postés 706 Date d'inscription mercredi 17 novembre 2004 Statut Membre Dernière intervention 29 septembre 2013
15 déc. 2005 à 20:49
bizarre ca marche :s alors que j'avais fais la meme chose sauf que j'avai remplacé le nom szValue par key
0
ymca2003 Messages postés 2070 Date d'inscription mardi 22 avril 2003 Statut Membre Dernière intervention 3 juillet 2006 7
16 déc. 2005 à 11:45
Il te manquait unsigned long dwLen = 256;
0
Rejoignez-nous