Verifier clé registre et si OK lire la clé

Résolu
nicobsa Messages postés 32 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 14 février 2016 - 26 avril 2006 à 13:53
nicobsa Messages postés 32 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 14 février 2016 - 27 avril 2006 à 20:36
je voudrait cérivier la présence ou non d'antivirus sur un ordinateur :

sur mon ordinateur, j'ai Avast : dans le registre, on peut voir le chemin par la clé :
HKEY_LOCAL_MACHINE\SOFTWARE\ALWIL Software\Avast\4.0\Avast4ProgramFolder
contenant :
C:\Program Files\Alwil Software\Avast4

donc, je voudrait dans un premier temps que le programme regarde su la clé existe, et si elle existe, dans un second temps, qu'il lise le contenu et qu'il mette ca dans une variable, du genre : AV

MAIS, je voudrait répéter ce script pour 2 ou 3 antivirus, pour que ce programme puisse fonctionner aussi avec Norton antivirus, bitdefender, et encore plein d'autres... donc :

si la premiere recherche , il trouve rien il passe à la 2eme, sinon, si il trouve, il s'arrete, et fait cette analyse(bien sur, apres, je doit lui dire quel .exe doit faire l'analyse, mais ca, c'est apres.)

voila voila, j'espere que vous avec compris un peu ce que je souhaite faire...

merci, a bientot

NM

12 réponses

cs_herault Messages postés 23 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 13 décembre 2010
27 avril 2006 à 15:31
ok ok ....

donc :
'-------------------------
const HKEY_LOCAL_MACHINE = &H80000002

strComputer = "."
Set oReg=GetObject( _
"winmgmts:{impersonationLevel=impersonate}!\" &_
strComputer & "\root\default:StdRegProv")

sSubKeyName = "SOFTWARE\ALWIL Software\Avast\4.0" ' ou ce trouve la clef

strValueName = "Avast4ProgramFolder" ' la clef que je cherche

toto=oReg.GetExpandedStringValue _(HKEY_LOCAL_MACHINE,sSubKeyName,strValueName,uValue)' je la trouve

msgbox "voici le resultat: " & uValue & "" 'et je la montre
msgbox " si elle existe toto=0" & toto

--------------------

voila .....
3
Senynium X Messages postés 49 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 12 juin 2008
26 avril 2006 à 14:24
Salut

Si tu es en .NET

Dim Racine As RegistryKey = Registry.LocalMachine
Dim cle As RegistryKey = Racine.OpenSubKey("\SOFTWARE\ALWIL Software\Avast\4.0")
Dim valeur As String = cle.GetValue("Avast4ProgramFolder")

Normalement, la variable "valeur" contient la valeur inscrite dans le registre
T'as plus qu'à la tester.
0
nicobsa Messages postés 32 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 14 février 2016 1
26 avril 2006 à 14:45
comment ca, en .net ? qu'est-ce ? comment y passer ?


car, là, je met ce code dans le form load... et tout est en rouge...
0
asecher Messages postés 262 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 27 avril 2007 1
26 avril 2006 à 14:55
Et voila, si tu avais précisé avec quoi tu développe, tu n'aurais pas ce type de réponse.
Tu es censé décrire un minimum ton environnement (VB6, SQL, Tartempion)

D'autre part, tu as plein de codes exemple sur ce site.

Rappel du règlement : consulter les sujets équivalants sur le site avant de faire un post;

Cordialement,

Alain 31
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
nicobsa Messages postés 32 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 14 février 2016 1
26 avril 2006 à 15:03
je developpe avec VB6, excuse moi de ne pas avoir précisé..., j'ai oublié dans ce post...
0
nicobsa Messages postés 32 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 14 février 2016 1
26 avril 2006 à 15:04
j'ai deja consulté les reponses des forums, mais rien n'etait convaincant...
c'est pour cela que j'ouvre un nouveau post, je ne vais pas m'amuser à en ouvrir un nouveau alors que la réponse est sous mes yeux ...
0
cs_herault Messages postés 23 Date d'inscription mercredi 23 février 2005 Statut Membre Dernière intervention 13 décembre 2010
26 avril 2006 à 19:01
et oui encore la classe WMI ....

la methode StdRegProv

voici un exemple :

const HKEY_CURRENT_USER = &H80000001
strComputer = "."
Set oReg=GetObject( _
"winmgmts:{impersonationLevel=impersonate}!\" &_
strComputer & "\root\default:StdRegProv")
strKeyPath = "Console"
strValueName = "HistoryBufferSize"
oReg.GetDWORDValue _
HKEY_CURRENT_USER,strKeyPath,strValueName,dwValue
WScript.Echo "Current History Buffer Size: " & dwValue

je te laisse chercher pour ta clef ,je sui sur que tu peut le faire tout seul..
ce n est pas te rendre service de "macher le travail"....

la fonction que tu doit utiliser est GetQWORDValue
et la clef pour le registre est 0x80000002

voila pour toute les autre interogation :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/getqwordvalue_method_in_class_stdregprov.asp
0
nicobsa Messages postés 32 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 14 février 2016 1
26 avril 2006 à 23:01
je suis désolé, je ne comprend pas...

je n'y arrive pas...

voila ce que j'ai fait :

Private Sub Form_Load()
Const HKEY_LOCAL_MACHINE = &H80000002
strComputer = "."
Set oReg = GetObject("winmgmts:{impersonationLevel=impersonate}!\" & strComputer & "\root\default:StdRegProv")
strKeyPath = "Console"
strValueName = "HistoryBufferSize"
oReg.GetDWORDValue HKEY_CURRENT_USER, strKeyPath, strValueName, dwValue
MsgBox "Current History Buffer Size: " & dwValue
End Sub

mais voila, ca ne ressemble à rien, il ne me met rien dans mon msgbox!...
0
Senynium X Messages postés 49 Date d'inscription vendredi 22 octobre 2004 Statut Membre Dernière intervention 12 juin 2008
27 avril 2006 à 09:32
Tu utilises les mêmes valeurs que Herault. Il t'a bien dit de chercher pour ta clé. Lui il est en HKEY_CURRENT_USER et toi tu veux HKEY_LOCAL_MACHINE, tu n'as donc pas à mettre la même chose que lui. Pareil pour les valeurs, tu recherches quoi ? "Console" ?

Herault t'a dit :
"voila pour toute les autre interogation :
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/getqwordvalue_method_in_class_stdregprov.asp"


Cherches un peu sur bon sang, ou alors dis nous de faire toute l'application pour toi.
0
nicobsa Messages postés 32 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 14 février 2016 1
27 avril 2006 à 09:39
mouai, ca sera pas mal peut etre comme ca!
0
nicobsa Messages postés 32 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 14 février 2016 1
27 avril 2006 à 09:52
je tiens à vous rapeller que je suis en VB 6... et que j'ai essayé deja ce que vous m'avez donné... mais la moitié est en rouge!

ils proposent ca :
uint32 GetQWORDValue(
uint32hDefKey= 2147483650,
string sSubKeyName ,
stringsValueName,
uint64uValue
);

mais meme en modifiant un peu comme il faudrait, comment voulez vous que ca fonctionne :

uint32 GetQWORDValue(
uint32hDefKey = 0x80000002,
stringsSubKeyName,
stringsValueName,
uint64uValue
);

.........
0
nicobsa Messages postés 32 Date d'inscription vendredi 10 septembre 2004 Statut Membre Dernière intervention 14 février 2016 1
27 avril 2006 à 20:36
et bien, c'est super, je suis désolé d'avoir demandé comme ceci un script tou fait... mais c'est super ca marche, mis a part que mon vb accepte pas les _ pour sauter une ligne, donc je les enleves et ca marche nickel,

Encore merci à tous!

NM
0
Rejoignez-nous