cs_PHILOUVB
Messages postés141Date d'inscriptionmardi 18 mars 2003StatutMembreDernière intervention 3 octobre 2010
-
28 juin 2005 à 19:45
cs_mti
Messages postés51Date d'inscriptionmardi 28 juin 2005StatutMembreDernière intervention29 mars 2008
-
10 juil. 2005 à 18:55
J'ai besoin de lire la résolution de mon écran dans la base de registre. Pour cela j'utilise les fonctions suivantes :
Public Const HKEY_CURRENT_USER = &H80000001
Const REG_SZ = 1
Public Declare Function RegQueryValueEx Lib "advapi32.dll" _
Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, ByVal lpData As String, lpcbData As Long) As Long
Public Declare Function RegOpenKey Lib "advapi32.dll" _
Alias "RegOpenKeyA" (ByVal hKey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegCloseKey Lib "advapi32.dll" ( _
ByVal hKey As Long) As Long
cs_mti
Messages postés51Date d'inscriptionmardi 28 juin 2005StatutMembreDernière intervention29 mars 2008 28 juin 2005 à 21:38
Je suis un peu débutant et vu que vou avez l'air de bien vous y connître, je peut vous demander quelle(s) fonction(s) faut-il utiliser pour lire quelque chose dan la base de registre
cs_DARKSIDIOUS
Messages postés15814Date d'inscriptionjeudi 8 août 2002StatutMembreDernière intervention 4 mars 2013130 28 juin 2005 à 22:09
Mais non c'est pas dur, il faut juste comprendre la logique ;)
Pour lire une clé dans le registre, il faut tout d'abord l'ouvrir en
utilisant la fonction RegOpenKey comme tu la fais pour obtenir un
handle qui te permettra de manipuler la clé.
Ensuite, il faut utiliser la fonction RegQueryValueEx pour lire la
valeur de la clé. Il faut lui passer un buffer (il s'agit d'une
variable de type string qui contient des espaces, suffisament d'espace
pour stocker la valeur lue).
Enfin, lorsque tu as lu la valeur, il te suffit de fermer la clé avec la fonction RegCloseKey.
Tu avais donc juste avec ton code, mais je pense que ton buffer était trop petit.
DarK Sidious
Un API Viewer (pour le VB, VB.NET, C, C# et Delphi) : www.ProgOtoP.com/popapi/
BruNews
Messages postés21040Date d'inscriptionjeudi 23 janvier 2003StatutModérateurDernière intervention21 août 2019 28 juin 2005 à 22:51
dernier param de RegQueryValueEx est l'adresse d'un long, en entrée doit contenir taille de ton buffer et en sortie contient le nbr d'octets insérés dans ton buffer.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_mti
Messages postés51Date d'inscriptionmardi 28 juin 2005StatutMembreDernière intervention29 mars 2008 10 juil. 2005 à 18:55
Merci DarK Sidious, mais ces détails sont un peu techniques: est-ce que quelqun pourrais me donner un exemple pour:
lire le contenu de HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
et afficher le nom de chaque chaine dans le tableau de contrôles "txtChaines"
et afficher leur valeur dans le tableau de contrôles "txtValeurs"
supprimer par ex la chaine "aoldial"
modifier la valeur "C:\PROGRA~1\TECHCI~1\AOLSAV\AOLAgent.exe"
en
"D:\PROGRA~1\TECHCI~1\AOLSAV\AOLAgent.exe" (pour la chaine "aolsav")
créer une nouvelle chaine
"KAVPersonal50"
avec la valeur
""C:\Program Files\Kaspersky Lab\Kaspersky Anti-Virus Personal\kav.exe" /minimize"
modifier le nom de la chaine
"STDSB"
en
"STDSA"
renommer la clé
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
en
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run-
supprimer la clé HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Runonce
????????????????????????????????????????????????????????????????????
Merci pour votre réponse, je sais que c'est beaucoup demander mais je suis un peu perdu avec ces histoires de RegQueryValueEx a qui il faut leur "passer?!?" des buffers,
enfin voilà je suis nul quoi bon non il ne faut pas se sous-estimer donc je dis: je ne sais pas encore comment faire.
Enfin bref: A L'AIDE !!!
Bon voilà merci d'avance pour une réponse de quelqun qui s'ennuie devant son ordi et qui n'a rien d'autre à faire que de taper du code pour quelqun qu'il ne connait pas!!!!