Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
3419 connectés 

 


Dernière réponse
Sujet : [C++] Base de registre
godbout ok,  
ca m'aidera surement avec les prochaines fonctions, ca m'evitera de batailler pendant des heures.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
godbout ok,  
ca m'aidera surement avec les prochaines fonctions, ca m'evitera de batailler pendant des heures.
BENB et plutot que de mettre LPBYTE, je trouve qu'ils aurraient du mettre BYTE*...  
c'est tout...

 

[edtdd]--Message édité par BENB--[/edtdd]

chrisbk ouais attends, LPBYTE = unsigned char *  
 
bref, quand tu fais
LPBYTE path[512];  
 
c egal a : unsigned char * path[512]
ce qui n'est pas bon
 
faut faire :
 
BYTE path[512];
godbout Ouais mais meme en mettant une * ou n'importe quoi il prend pas.
C'est pour ca que je m'obstinais a vouloir utiliser ces fonctions, histoire de comprendre.
 
LONG RegQueryValueEx(
  HKEY hKey,           // handle to key to query
  LPTSTR lpValueName,  // address of name of value to query
  LPDWORD lpReserved,  // reserved
  LPDWORD lpType,      // address of buffer for value type
  LPBYTE lpData,       // address of data buffer
  LPDWORD lpcbData     // address of data buffer size
);
 
 
Pour lpData
 
Si tu mets
LPBYTE path[512];
LPBYTE *path[512];
LPBYTE &path[512];
...
Enfin bref rien ne passe.
Il faut mettre unsigned char path[512]
BENB LP ca veut dire Long Pointer me semble-t-il...
donc c'est normal qu'il faille declarer une variable puis en passer l'adresse...  
par contre une * serait plus parlante (a mon avis)
chrisbk pas de pb :)
 
A l'avenir tu auras le choix :)
godbout Par contre je trouve ca terrible que les arguments demandes soit du type LPDWORD ou LPBYTE et que si tu les definis comme ca ca marche pas.
Oblige de les definir en tant que unsigned char et unsigned long.
Forcement quand t'es pas au courant c'est chaud (ou alors j'me demmerde encore comme une bille :D)
godbout Juste pour revenir au topic j'ai reussi a utiliser les deux grosses fonctions.
J'ai essaye meme si ta technique marchait chrisbk, non pas parce que je voulais forcement du bourrin mais plutot pour comprendre un peu les types, les arguments,etc..
 
Voila voila... :)
BENB Merci :jap:
topic interessant...
j'ai appris sur la base de registre + IUP et GMI...
chrisbk IUP = ..... professionalise, ou un truc du gout (blah ! :D)  
GMI = genie mathematique et informatique
BENB IUP = Institut Universitaire ___   :??:
GMI = Genie des Methodes Informatiques :??:
 
reelement je ne sais pas, dites moi...
godbout Ca fera bientot 2 mois.
J'ai fait un DUT info, c'est pareil ca m'a appris que les bases, en gros du bon vieux C dos :D
Je m'etais mis un peu a la prog windows, mais beaucoup moins pousse que ce que je fais (ou que j'ai l'impression de faire) en ce moment.

 

[edtdd]--Message édité par Godbout--[/edtdd]

chrisbk boaf, c juste une question de tps....et g passe pas mal de mon tps a coder ces derniers annees.
 
je te dirais que l'IUT m'a pas bpc appris (j'apprenais 10x plus vite avec "le C en 21 jours" qu'en suivant les cours de l'IUT) et l'iup pas trop non plus (du moins pour le C++)
 
 
tu bosses depuis lgtps ? quel etudes ?
godbout

chrisbk a écrit a écrit :

IUP GMI 3eme annee, 21 ans (on dirait Maurice avec ses " qui va la je t prie :D)
 
j ai appris a cote en fait, depuis que g commencer l'IUT. je code des trucs pour moi, en dose assez...massives
 
moteur 3D principalement, et tout le tatoin qui va avec (plug in max, editeur et autre joyeusete du genre....)  




 
ok... (I'm calmed :D)

 

[edtdd]--Message édité par Godbout--[/edtdd]

chrisbk IUP GMI 3eme annee, 21 ans (on dirait Maurice avec ses " qui va la je t prie :D)
 
j ai appris a cote en fait, depuis que g commencer l'IUT. je code des trucs pour moi, en dose assez...massives
 
moteur 3D principalement, et tout le tatoin qui va avec (plug in max, editeur et autre joyeusete du genre....)
godbout t'es en quelle annee de fac ?
fac de koi ?
ou t'as appris tout ca ?
quel age ?
oui ?
non ?
chrisbk je bosse pas, enfin pas vraiment .  
Pour le moment je suis stagiaire, jusqu'a decembre . apres ca je retourne a la fac pour 6 mois et apres soit je bosse soit je refait un an, je sais pas encore trop
godbout Au fait tu fais koi comme boulot ?
Parce que j'ai remarque que tu connaissais un sacre paquet de truc, comme deux ou trois autres sur ce forum (Guru, el_gringo, BENB)

 

[edtdd]--Message édité par Godbout--[/edtdd]

chrisbk

Godbout a écrit a écrit :

(encore 1 fois:))  




 
la facture devrait bientot arriver :D

godbout ok ca marche  
merci ;) (encore 1 fois:))
chrisbk non :D
 
les fonctions du registres ont souvent 250param, pas tjs faci;e de voir ce qu'ils veulent :)
godbout ok ben je m'etais surement plante avec le path.
Je vais reessayer, mais j'aimerais comprendre pourquoi j'arrive pas a utiliser les fonctions RegOpen..., etc...
 
Suis je vraiment nul ?? :??:
chrisbk plantage ?
 
ca m'epate, g fait cut & paste de mon code, qui marche
 
mettons que dans ton registre tu aie le rep HKEY_CURRENT_USER\sofware\godbout et dedans la clé pouet contenant la chaine "brol"
 
CRegKey key  
status = key.Create(HKEY_CURRENT_USER,"Software\\godbout" );  
 
char  path[512];  
DWORD sizePath=512;  
 
status = key.QueryValue(path,"pouet",&sizePath);  
 
normalement, si je ne bois pas, path doit contenir "brol"
Kouye intéressant ce pti topic :)
godbout le path c'est bien Software//.... paske la j'ai une belle erreur d'execution
godbout ok ben je vais tester alors.
Mais ca me fait chier de caler la moitie de ce qu'il faut faire, les fonctions, etc...
Ils pourraient foutre des exemples dans le msdn
chrisbk les RegOpenKeyEx  et consort ?
 
nope, a mon avis la CRegKey le fait gentillement pour toi
sympa non ? :)
godbout euh, ouaip
c'est pas grave si j'utilise pas les deux grosses fonctions de la mort qui tue ?
chrisbk plus simple :
 
#include <atlbase.h>
 
 
CRegKey key
status = key.Create(HKEY_CURRENT_USER,"Software\\blah" );
 
char  path[512];
DWORD sizePath=512;
 
status = key.QueryValue(path,"macle",&sizePath);
if (status == ERROR_SUCCESS)
//cle trouvee
 
 
"macle" etant bien entendu le nom de la cle dont tu veux l info

 

[edtdd]--Message édité par chrisbk--[/edtdd]

godbout Il faudrait que je recupere des valeurs dans la base de registre.
J'utilise la fonction RegOpenKeyEx et RegQueryValueEx, mais impossible de les faire fonctionner :??:
 
Quelqu'un a un exemple ?

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)