Registre windows en lecture [Résolu]

shadow1779 707 Messages postés mercredi 17 novembre 2004Date d'inscription 29 septembre 2013 Dernière intervention - 14 déc. 2005 à 17:03 - Dernière réponse : ymca2003 2070 Messages postés mardi 22 avril 2003Date d'inscription 3 juillet 2006 Dernière intervention
- 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 

9 réponses

Répondre au sujet
ymca2003 2070 Messages postés mardi 22 avril 2003Date d'inscription 3 juillet 2006 Dernière intervention - 15 déc. 2005 à 19:29
+3
Utile
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);
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de ymca2003
CoyoteVsBeepBeep 41 Messages postés jeudi 16 juin 2005Date d'inscription 3 mars 2006 Dernière intervention - 14 déc. 2005 à 17:12
0
Utile
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
shadow1779 707 Messages postés mercredi 17 novembre 2004Date d'inscription 29 septembre 2013 Dernière intervention - 14 déc. 2005 à 17:47
0
Utile
: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
NeoUmbrella 117 Messages postés vendredi 5 novembre 2004Date d'inscription 15 janvier 2013 Dernière intervention - 14 déc. 2005 à 23:06
0
Utile
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
shadow1779 707 Messages postés mercredi 17 novembre 2004Date d'inscription 29 septembre 2013 Dernière intervention - 15 déc. 2005 à 08:53
0
Utile
et szValue et dwLen je les déclare comment (char , int, dword...)
.
Commenter la réponse de shadow1779
shadow1779 707 Messages postés mercredi 17 novembre 2004Date d'inscription 29 septembre 2013 Dernière intervention - 15 déc. 2005 à 08:57
0
Utile
euh oups dsl j'avai pas vu au dessus -_-
.
Commenter la réponse de shadow1779
shadow1779 707 Messages postés mercredi 17 novembre 2004Date d'inscription 29 septembre 2013 Dernière intervention - 15 déc. 2005 à 18:27
0
Utile
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
shadow1779 707 Messages postés mercredi 17 novembre 2004Date d'inscription 29 septembre 2013 Dernière intervention - 15 déc. 2005 à 20:49
0
Utile
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
ymca2003 2070 Messages postés mardi 22 avril 2003Date d'inscription 3 juillet 2006 Dernière intervention - 16 déc. 2005 à 11:45
0
Utile
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.