Verifier clé registre et si OK lire la clé [Résolu]

nicobsa 34 Messages postés vendredi 10 septembre 2004Date d'inscription 14 février 2016 Dernière intervention - 26 avril 2006 à 13:53 - Dernière réponse : nicobsa 34 Messages postés vendredi 10 septembre 2004Date d'inscription 14 février 2016 Dernière intervention
- 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
Afficher la suite 

12 réponses

Meilleure réponse
cs_herault 23 Messages postés mercredi 23 février 2005Date d'inscription 13 décembre 2010 Dernière intervention - 27 avril 2006 à 15:31
3
Merci
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 .....

Merci cs_herault 3

Avec quelques mots c'est encore mieux Ajouter un commentaire

Codes Sources a aidé 74 internautes ce mois-ci

Senynium X 49 Messages postés vendredi 22 octobre 2004Date d'inscription 12 juin 2008 Dernière intervention - 26 avril 2006 à 14:24
0
Merci
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.
nicobsa 34 Messages postés vendredi 10 septembre 2004Date d'inscription 14 février 2016 Dernière intervention - 26 avril 2006 à 14:45
0
Merci
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...
asecher 262 Messages postés lundi 20 octobre 2003Date d'inscription 27 avril 2007 Dernière intervention - 26 avril 2006 à 14:55
0
Merci
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
nicobsa 34 Messages postés vendredi 10 septembre 2004Date d'inscription 14 février 2016 Dernière intervention - 26 avril 2006 à 15:03
0
Merci
je developpe avec VB6, excuse moi de ne pas avoir précisé..., j'ai oublié dans ce post...
nicobsa 34 Messages postés vendredi 10 septembre 2004Date d'inscription 14 février 2016 Dernière intervention - 26 avril 2006 à 15:04
0
Merci
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 ...
cs_herault 23 Messages postés mercredi 23 février 2005Date d'inscription 13 décembre 2010 Dernière intervention - 26 avril 2006 à 19:01
0
Merci
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
nicobsa 34 Messages postés vendredi 10 septembre 2004Date d'inscription 14 février 2016 Dernière intervention - 26 avril 2006 à 23:01
0
Merci
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!...
Senynium X 49 Messages postés vendredi 22 octobre 2004Date d'inscription 12 juin 2008 Dernière intervention - 27 avril 2006 à 09:32
0
Merci
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.
nicobsa 34 Messages postés vendredi 10 septembre 2004Date d'inscription 14 février 2016 Dernière intervention - 27 avril 2006 à 09:39
0
Merci
mouai, ca sera pas mal peut etre comme ca!
nicobsa 34 Messages postés vendredi 10 septembre 2004Date d'inscription 14 février 2016 Dernière intervention - 27 avril 2006 à 09:52
0
Merci
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
);

.........
nicobsa 34 Messages postés vendredi 10 septembre 2004Date d'inscription 14 février 2016 Dernière intervention - 27 avril 2006 à 20:36
0
Merci
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

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.