Extraire des infos de la base de registres - C++ - Programmation
Marsh Posté le 25-02-2003 à 16:40:09
Tout là :
http://msdn.microsoft.com/library/ [...] ctions.asp
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.
Marsh Posté le 25-02-2003 à 16:48:06
le20k 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.
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).
Marsh Posté le 25-02-2003 à 16:54:42
Tetragrammaton IHVH a écrit : |
mais mais mais ... c'est du vb
Marsh Posté le 25-02-2003 à 16:57:09
gatorette a écrit : |
toutes sont configurées en utilisateurs non administrateur.
le probleme est comment lire la Hkey_current_user en c++ ...
Marsh Posté le 25-02-2003 à 17:02:09
le20k a écrit : |
Et d'où, c'est du VB, (vade retro) ?
http://msdn.microsoft.com/library/ [...] gistry.asp
Il y a le type LPCTSTR et on inclut des .h dans VB maintenant ?
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 )
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 ?
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 ? |
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 )
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
Marsh Posté le 25-02-2003 à 17:37:13
le20k a écrit : ...la config d'un poste client... |
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).
Marsh Posté le 25-02-2003 à 18:03:14
gatorette a écrit : |
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
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
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...
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
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