Répertoires de windows

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

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.