Répertoires de windows

Soyez le premier à donner votre avis sur cette source.

Snippet vu 7 399 fois - Téléchargée 69 fois

Contenu du snippet


Source / Exemple :


' ------------------------------------------------------------
' -                  Répertoires Spéciaux                    -
' ------------------------------------------------------------
' - Auteur : RazorBack                                       -
' - Date   : 07/01/2001                                      -
' - URL    : http://manipulator.citeweb.net                  -
' - @Email : manipulator@citeweb.net                         -
' ------------------------------------------------------------
' -    Permet  de  récupérer  les  répertoires  spéciaux  de -
' - Windows  via la  base  des registres.  D'autres chemins  -
' - peuvent être obtenus de la même façon.                   -
' ------------------------------------------------------------

Public Declare Function RegCreateKey Lib "advapi32.dll" Alias "RegCreateKeyA" (ByVal hkey As Long, ByVal lpSubKey As String, phkResult As Long) As Long
Public Declare Function RegQueryValueEx Lib "advapi32.dll" Alias "RegQueryValueExA" (ByVal hkey As Long, ByVal lpValueName As String, ByVal lpReserved As Long, lpType As Long, lpData As Any, lpcbData As Long) As Long

Public Const HKEY_CURRENT_USER = &H80000001

' Retourne le répertoire ou se trouve le Menu Démarrer de Windows
Function GetStartMenuPath$()
 GetStartMenuPath$ = GetRegKey$("Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "Programs")
End Function

' Retourne le répertoire ou se trouve le Bureau de Windows
Function GetDesktopPath$()
 GetDesktopPath$ = GetRegKey$("Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders", "Desktop")
End Function

Function GetRegKey$(Path$, Key$)
 Dim Resultat As Long
 Dim Ident As Long
 Dim Donnee As String
 Dim TailleBuffer As Long
 
 Resultat = 0
 Resultat = RegCreateKey(HKEY_CURRENT_USER, Path$, Ident)
 Resultat = RegQueryValueEx(Ident, Key$, 0&, 1, 0&, TailleBuffer)
 If TailleBuffer < 2 Then
  ' Indique que la clef n'existe pas [ pas d'bol ]
  GetRegKey$ = ""
  Exit Function
 End If

 Donnee = String(TailleBuffer + 1, " ")
 Resultat = RegQueryValueEx(Ident, Key$, 0&, 1, ByVal Donnee, TailleBuffer)
 Donnee = Left(Donnee, TailleBuffer - 1)
 GetRegKey$ = Donnee
End Function

A voir également

Ajouter un commentaire Commentaire
Messages postés
111
Date d'inscription
dimanche 28 septembre 2003
Statut
Membre
Dernière intervention
24 juin 2015

Nickel, ce ch'ti code, ça marche au poil (sous 2000 en tout cas)
Merci !!

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.