Tester une clef de registre + vb6

Résolu
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 - 7 sept. 2007 à 16:05
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 - 11 sept. 2007 à 11:00
Bonjour,

j'essayes de faire une fonction qui me retourne true ou false si une clef de registre existe ou pas !

Public Function CleRegistreExiste() As Boolean
Dim existe As Boolean


Dim val As String
val = ""


Dim WshShell
Set WshShell = CreateObject("WScript.Shell")
val = WshShell.RegRead("HKLM\Software\Microsoft\Microsoft SQL Server\FRAMEWORK\MSSQLServer\CurrentVersion\CSDVersion")
Set WshShell = Nothing


If (val <> "") Then
    existe = True
Else
    existe = False   
End If
End Function

J'ai place un bouton sur ma form et j'appele ma function comme ceci :

Dim bo As Boolean


bo = CleRegistreExiste()
MsgBox bo

Le souci c'est qu'il me retourne toujours false alors que la clef a une valeur
8...pour sql server 2000
9... pour sql server 2005

Avez vous une idée je debute sous vb6

Merci

4 réponses

cs_Chatbour Messages postés 764 Date d'inscription jeudi 27 juillet 2006 Statut Membre Dernière intervention 6 septembre 2010 19
8 sept. 2007 à 15:45
3
PCPT Messages postés 13272 Date d'inscription lundi 13 décembre 2004 Statut Membre Dernière intervention 3 février 2018 47
8 sept. 2007 à 23:24
salut,

on utilise Set WshShell = CreateObject("WScript.Shell") uniquement dans 2 cas :

* (pour JMO ) pour du code VBScript
* en VB6 pour être presque certain que son appli soit détectée comme un virus....

il faut passer par les API comme l'indique Chatbour

++
<hr size ="2" width="100%" />Prenez un instant pour répondre à [infomsg_SONDAGE-POP3-POUR-CS_769706.aspx ce sondage] svp
3
cs_JMO Messages postés 1854 Date d'inscription jeudi 23 mai 2002 Statut Membre Dernière intervention 24 juin 2018 27
7 sept. 2007 à 16:26
 Bonjour à tous,

Exemple à adapter pour vb6.

   Dim sKey, sPath
   Set WshShell = CreateObject("WScript.Shell")
   Set objFso = Createobject("Scripting.FileSystemObject")  
   sKey = "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\Outlook.EXE"
   sPath = Wshshell.regread(sKey)
   MsgBox objFso.getfileversion(sPath),,"vérif sKey"

jean-marc
0
cs_jimmy69 Messages postés 778 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 27 novembre 2008 1
11 sept. 2007 à 11:00
Salut salut,

je vous remercie pour vos idees et vos liens qui m'ont ete d'une grande utilite !

ca fonctionne ahhh le dev sous vb6 quand on ne connait pas c'est la galere moi je vous le dit !

Bonne semaine
Christophe
0
Rejoignez-nous