Extraire des infos de la base de registres

Extraire des infos de la base de registres - C++ - Programmation

Marsh Posté le 25-02-2003 à 16:29:16    

bonsoir
 
je souhaiterais pouvoir exploiter des infos contenues dans la base de registre ( comme nom du pross, nom netbios, etc ... ) en utilisant du C++.
quelles sont les fonctions svp ??? help !    
 
vinz


---------------
dieu créa l'homme et meuh fit la vache
Reply

Marsh Posté le 25-02-2003 à 16:29:16   

Reply

Marsh Posté le 25-02-2003 à 16:40:09    

Tout là :
 
http://msdn.microsoft.com/library/ [...] ctions.asp


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 25-02-2003 à 16:44:34    


 
merci msieur ...
mais petite question : faut-il etre root pour pouvoir lire les infos ?
là il s'agit de récolter des infos dans la base de registres de postes clients et de les envoyer à un serveur.


---------------
dieu créa l'homme et meuh fit la vache
Reply

Marsh Posté le 25-02-2003 à 16:48:06    

le20k a écrit :


 
merci msieur ...
mais petite question : faut-il etre root pour pouvoir lire les infos ?
là il s'agit de récolter des infos dans la base de registres de postes clients et de les envoyer à un serveur.


 
ouhla, c'est plus technique...
 
Il y a RegConnectRegistry qui se connecte sur une BdR distante mais j'ai jamais eu l'occasion de tester, donc je ne pas t'en dire plus.


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 25-02-2003 à 16:53:03    

le20k a écrit :

mais petite question : faut-il etre root pour pouvoir lire les infos ?


 
Ca dépend de la configuration de la machine. Par défaut, tous les utilisateurs doivent pouvoir modifier/lire HKEY_CURRENT_USER. Pour le reste, je ne sais pas.
Le mieux est de faire le test, mais je pense que pour la lecture de la plupart des infos ça doit être bon (sauf sûrement pour le compte "invité" ). Mais le plus logique est encore d'agir en tant qu'Administrateur du domaine (ou Opérateur quelconque du moment qu'il ait les droits).


---------------
each day I don't die is cheating
Reply

Marsh Posté le 25-02-2003 à 16:54:42    

Tetragrammaton IHVH a écrit :


 
ouhla, c'est plus technique...
 
Il y a RegConnectRegistry qui se connecte sur une BdR distante mais j'ai jamais eu l'occasion de tester, donc je ne pas t'en dire plus.


 
 
mais mais mais ... c'est du vb  :cry:


---------------
dieu créa l'homme et meuh fit la vache
Reply

Marsh Posté le 25-02-2003 à 16:57:09    

gatorette a écrit :


 
Ca dépend de la configuration de la machine. Par défaut, tous les utilisateurs doivent pouvoir modifier/lire HKEY_CURRENT_USER. Pour le reste, je ne sais pas.
Le mieux est de faire le test, mais je pense que pour la lecture de la plupart des infos ça doit être bon (sauf sûrement pour le compte "invité" ). Mais le plus logique est encore d'agir en tant qu'Administrateur du domaine (ou Opérateur quelconque du moment qu'il ait les droits).


 
toutes sont configurées en utilisateurs non administrateur.
 
le probleme est comment lire la Hkey_current_user en c++ ...


---------------
dieu créa l'homme et meuh fit la vache
Reply

Marsh Posté le 25-02-2003 à 17:02:09    

le20k a écrit :


 
 
mais mais mais ... c'est du vb  :cry:  


 
Et d'où, c'est du VB, (vade retro) ?  :heink:  
 
http://msdn.microsoft.com/library/ [...] gistry.asp
 
Il y a le type LPCTSTR et on inclut des .h dans VB maintenant ?  :heink:


---------------
"Dieu a exploité tous nos complexes d'infériorité, en commençant par notre incapacité de croire à notre propre divinité." - Emil Michel Cioran
Reply

Marsh Posté le 25-02-2003 à 17:04:08    

en fait le probleme pourrait se recentrer sur :
 
quelles sont les fonctions en c++ qui permettent de connaitre la config d'un poste client n'ayant pas les droits admin ?
 
( je pensais passer par la base de registres, mais si ça se trouve on peut trouver directement tous les détails de l'ordi )


---------------
dieu créa l'homme et meuh fit la vache
Reply

Marsh Posté le 25-02-2003 à 17:09:49    

Il faudrait que tu précises un peu plus les choses : Souhaites tu exécuter cette appli sur une machine qui se connecte aux différents PC ou sur tous les PC individuellement ?
 
Dans le premier cas tu dois utiliser RegConnectRegistry (qui est une fonction de l'API Windows donc utilisable en C++) mais ça implique que les postes clients soient bien configurés (plus de détails dans la MSDN).
La deuxième solution est plus simple car il s'agit uniquement de lire dans la base de registre locale. Pour savoir comment faire, tu peux commencer par regarder ici (par exemple).
 
Une petite question tout de même, si c'est simplement pour exporter une clé de la base de registre, pourquoi ne pas utiliser regedit comme ici ?


---------------
each day I don't die is cheating
Reply

Marsh Posté le 25-02-2003 à 17:09:49   

Reply

Marsh Posté le 25-02-2003 à 17:19:49    

gatorette a écrit :

Il faudrait que tu précises un peu plus les choses : Souhaites tu exécuter cette appli sur une machine qui se connecte aux différents PC ou sur tous les PC individuellement ?
 
Dans le premier cas tu dois utiliser RegConnectRegistry (qui est une fonction de l'API Windows donc utilisable en C++) mais ça implique que les postes clients soient bien configurés (plus de détails dans la MSDN).
La deuxième solution est plus simple car il s'agit uniquement de lire dans la base de registre locale. Pour savoir comment faire, tu peux commencer par regarder ici (par exemple).
 
Une petite question tout de même, si c'est simplement pour exporter une clé de la base de registre, pourquoi ne pas utiliser regedit comme ici ?


 
C'est pour récupérer des infos individuellement de chaque poste client et les envoyer à un seul et meme serveur.
aucun poste client a les droits administrateur.
Le programme client est en c++.
 
pourquoi ne pas utiliser regedit ?
simple raison : ça serait trop simple !
sur les postes clients winnt, regedit n'est pas installé ( et c'est pas demain la veille qu'il le sera  :pt1cable:   )


---------------
dieu créa l'homme et meuh fit la vache
Reply

Marsh Posté le 25-02-2003 à 17:31:48    

gatorette a écrit :

La deuxième solution est plus simple car il s'agit uniquement de lire dans la base de registre locale. Pour savoir comment faire, tu peux commencer par regarder ici (par exemple).


 
 
en tout cas, ça, ça m'a l'air bien approprié ...
je suis dessus ...
 
mais là ça sent la pause paske [:tonybanks]


---------------
dieu créa l'homme et meuh fit la vache
Reply

Marsh Posté le 25-02-2003 à 17:37:13    

le20k a écrit :

...la config d'un poste client...
...tous les détails de l'ordi...


 
Il faudrait que tu précises un peu ces termes. En effet, il existe peut être des fonctions permettant d'obtenir les infos que tu souhaite directement (du style GetComputerName).
 
Edit: Dans la MSDN, il existe une catégorie System Information qui devrait t'intéresser.
 
Et selon le type de détails que tu souhaites, il existe peut être des softs touts faits (mais à priori tu as des contraintes de sécurité assez fortes).


Message édité par gatorette le 25-02-2003 à 17:48:32

---------------
each day I don't die is cheating
Reply

Marsh Posté le 25-02-2003 à 18:03:14    

gatorette a écrit :


 
Il faudrait que tu précises un peu ces termes. En effet, il existe peut être des fonctions permettant d'obtenir les infos que tu souhaite directement (du style GetComputerName).
 
Edit: Dans la MSDN, il existe une catégorie System Information qui devrait t'intéresser.
 
Et selon le type de détails que tu souhaites, il existe peut être des softs touts faits (mais à priori tu as des contraintes de sécurité assez fortes).


 
 
préciser .. préciser ...
si tu veux réellement la liste de tous les détails de la config que j'aimerais récuperer, accroche toi  :D  
C'est dans le cadre d'un projet de conception logicielle pour mon IUT. Le programme que mon groupe est sensé créer doit permettre la gestion logicielle et matérielle du parc informatique.
Il a été décidé que la conception du programme client ( installé sur un poste serveur mais lancé sur tous les postes utilisateurs, donc clients ) soit en C++.
Le but de ce programme est de récolter les infos en local et de les renvoyer au programme serveur qui tourne lui aussi sur une machine serveur, qui traite les infos et les stocke dans une bd.
 
d'où ma requete concernant des fonctions ayant pour but de récolter des infos à partir de la base de registres
 :sarcastic:


---------------
dieu créa l'homme et meuh fit la vache
Reply

Marsh Posté le 25-02-2003 à 18:11:03    

Bon ben le mieux est alors pour toi de te pencher sur la catégorie System Information de la MSDN. Tu y trouveras déjà pas mal de choses...


---------------
each day I don't die is cheating
Reply

Marsh Posté le 25-02-2003 à 18:16:22    

gatorette a écrit :

Bon ben le mieux est alors pour toi de te pencher sur la catégorie System Information de la MSDN. Tu y trouveras déjà pas mal de choses...


 
 
merci beaucoup  :jap:


---------------
dieu créa l'homme et meuh fit la vache
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed