Cherchez le chemin d'un appli dans la base de registre

Soyez le premier à donner votre avis sur cette source.

Snippet vu 5 566 fois - Téléchargée 37 fois


Contenu du snippet

Bon, c'est pas de moi (pour ceux qui veulent à toux pris des codes propriétaires c'est pas la peine d'aller plus loin...:) ) mais vraiment ca me change la vie. Alors tiendez :)

|emap|

Source / Exemple :


'Exemple pour acrobat reader...

Private Declare Function RegOpenKeyEx Lib "advapi32" Alias "RegOpenKeyExA" (ByVal hKey As Long, ByVal lpSubKey As String, ByVal dwReserved As Long, ByVal samDesired As Long, phkResult As Long) As Long
Private Declare Function RegQueryValueEx Lib "advapi32" Alias "RegQueryValueExA" (ByVal hKey As Long, ByVal lpValueName$, ByVal lpdwReserved As Long, lpdwType As Long, lpData As Any, lpcbData As Long) As Long
Private Declare Function RegCloseKey Lib "advapi32" (ByVal hKey As Long) As Long
Const HKEY_LOCAL_MACHINE As Long = &H80000002
'
'
'From FAQ the Acrobat Reader can be found at"HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppPaths\AcroRd32.exe"
'
'
Function RegGetString$(hInKey As Long, ByVal subkey$, ByVal valname$)
Dim RetVal$, hSubKey As Long, dwType As Long, SZ As Long
Dim R As Long
RetVal$ = ""
Const KEY_ALL_ACCESS As Long = &H3F
Const ERROR_SUCCESS As Long = 0
Const REG_SZ As Long = 1
R = RegOpenKeyEx(hInKey, subkey$, 0, KEY_ALL_ACCESS, hSubKey)
If R <> ERROR_SUCCESS Then GoTo Quit_Now
SZ = 256: v$ = String$(SZ, 0)

R = RegQueryValueEx(hSubKey, valname$, 0, dwType, ByVal v$, SZ)
If R = ERROR_SUCCESS And dwType = REG_SZ Then
SZ = SZ - 1
RetVal$ = Left$(v$, SZ)
Else
RetVal$ = "--Not String--"
End If
If hInKey = 0 Then R = RegCloseKey(hSubKey)
Quit_Now:
RegGetString$ = RetVal$
End Function

Function CheminAcrobat() As String
Dim ViewerStr As String
ViewerStr = RegGetString$(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\AppPaths\Acrobat.exe", "Path")
If ViewerStr <> "" Then
ViewerStr = ViewerStr + "\Acrobat.exe"
Debug.Print "Using Acrobat"
Else
' Acrobat is not installed
ViewerStr = RegGetString$(HKEY_LOCAL_MACHINE, "SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\AcroRd32.exe", "Path")
ViewerStr = ViewerStr + "\AcroRd32.exe"
Debug.Print "Using Reader"
End If
CheminAcrobat = ViewerStr
End Function

Private Sub Command1_Click()
msgbox  CheminAcrobat
End Sub

A voir également

Ajouter un commentaire

Commentaires

Messages postés
1
Date d'inscription
dimanche 28 juillet 2002
Statut
Membre
Dernière intervention
14 mars 2006

Note importante : ce code ne fonctionne qu'avec les utilisateurs ayant les droits d'admin sur les postes NT.
Messages postés
64
Date d'inscription
mardi 18 décembre 2001
Statut
Membre
Dernière intervention
28 novembre 2008

de nada :)
Messages postés
93
Date d'inscription
lundi 16 juin 2003
Statut
Membre
Dernière intervention
27 juin 2003

Merci de ta coopération
Messages postés
64
Date d'inscription
mardi 18 décembre 2001
Statut
Membre
Dernière intervention
28 novembre 2008

oki je note pour plus tard :)
Messages postés
93
Date d'inscription
lundi 16 juin 2003
Statut
Membre
Dernière intervention
27 juin 2003

oui mais pour archiver c'est plus rapide quand on prend plein de codes sources en même temps. Sinon oui le copier coller marche bien.
Afficher les 7 commentaires

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.