Curent User Path

e_NeX Messages postés 104 Date d'inscription mardi 9 mars 2004 Statut Membre Dernière intervention 30 novembre 2009 - 7 avril 2004 à 01:00
fredlynx Messages postés 662 Date d'inscription mercredi 16 janvier 2002 Statut Modérateur Dernière intervention 16 octobre 2010 - 7 avril 2004 à 09:27
Salut!

Je sais qu'il y a une fonction pour donner le chemin d'acces du repertoire de l'utilisateur et si quelqu'un la sait, ca me serais tres utile!!!! en tous cas Merci!!

je pense que c'est qelque chose comme ca:

%Home%userPath% pas sur parceque ca marce pas!

2 réponses

crenaud76 Messages postés 4172 Date d'inscription mercredi 30 juillet 2003 Statut Membre Dernière intervention 9 juin 2006 28
7 avril 2004 à 08:48
Tu as une var d'environnement nommée USERPROFILE que tu peux récupérer par Environ("UserProfile") sous VB6

Christophe R.
0
fredlynx Messages postés 662 Date d'inscription mercredi 16 janvier 2002 Statut Modérateur Dernière intervention 16 octobre 2010 3
7 avril 2004 à 09:27
Essaye ça:

Private Declare Function SHGetSpecialFolderLocation Lib "shell32" _
(ByVal hwnd As Long, _
ByVal NFolder As Long, _
Pidl As Long) As Long

Private Declare Function SHGetPathFromIDList Lib "shell32" _
(Pidl As Long, ByVal chemin As String) As Long

Private Declare Sub CoTaskMemFree Lib "ole32" (ByVal pv As Long)

Private Const MAX_PATH As Long = 260
'---------------------------------------------------------------------------------
'Constantes utilisées pour les API et l'obtension de chemins spéciaux
'---------------------------------------------------------------------------------
Private Const CSIDL_FLAG_CREATE = &H8000
Private Const CSIDL_FLAG_DONT_VERIFY = &H4000
Private Const CSIDL_MYMUSIC = &HD
Private Const CSIDL_ADMINTOOLS = &H30
Private Const CSIDL_ALTSTARTUP = &H1D
Private Const CSIDL_APPDATA = &H1A
Private Const CSIDL_BITBUCKET = &HA
Private Const CSIDL_COMMON_ADMINTOOLS = &H2F
Private Const CSIDL_COMMON_ALTSTARTUP = &H1D
Private Const CSIDL_COMMON_APPDATA = &H23
Private Const CSIDL_COMMON_DESKTOPDIRECTORY = &H19
Private Const CSIDL_COMMON_DOCUMENTS = &H2E
Private Const CSIDL_COMMON_FAVORITES = &H1F
Private Const CSIDL_COMMON_PROGRAMS = &H17
Private Const CSIDL_COMMON_STARTMENU = &H16
Private Const CSIDL_COMMON_STARTUP = &H18
Private Const CSIDL_COMMON_TEMPLATES = &H2D
Private Const CSIDL_CONTROLS = &H3
Private Const CSIDL_COOKIES = &H21
Private Const CSIDL_DESKTOP = &H0
Private Const CSIDL_DESKTOPDIRECTORY = &H10 'Dossier Bureau Utilisateur Courant
Private Const CSIDL_DRIVES = &H11
Private Const CSIDL_FAVORITES = &H6
Private Const CSIDL_FONTS = &H14
Private Const CSIDL_HISTORY = &H22
Private Const CSIDL_INTERNET = &H1
Private Const CSIDL_INTERNET_CACHE = &H20
Private Const CSIDL_LOCAL_APPDATA = &H1C
Private Const CSIDL_MYPICTURES = &H27
Private Const CSIDL_NETHOOD = &H13
Private Const CSIDL_NETWORK = &H12
Private Const CSIDL_PERSONAL = &H5 'Dossier Mes documens
Private Const CSIDL_PRINTERS = &H4
Private Const CSIDL_PRINTHOOD = &H1B
Private Const CSIDL_PROFILE = &H28
Private Const CSIDL_PROGRAM_FILES = &H26
Private Const CSIDL_PROGRAM_FILES_COMMON = &H2B
Private Const CSIDL_PROGRAM_FILES_COMMONX86 = &H2C
Private Const CSIDL_PROGRAM_FILESX86 = &H2A
Private Const CSIDL_PROGRAMS = &H2
Private Const CSIDL_RECENT = &H8
Private Const CSIDL_SENDTO = &H9
Private Const CSIDL_STARTMENU = &HB
Private Const CSIDL_STARTUP = &H7
Private Const CSIDL_SYSTEM = &H25
Private Const CSIDL_SYSTEMX86 = &H29
Private Const CSIDL_TEMPLATES = &H15
Private Const CSIDL_WINDOWS = &H24

Private Function Get_Chemin_Special(Lhwnd As Long, lFolder As Long) As String
Dim Chemin_Spe As String
Dim Pidl As Long
Dim Resultat As Long

If SHGetSpecialFolderLocation(Lhwnd, lFolder, Pidl) = 0 Then
Chemin_Spe = Space(MAX_PATH)
If SHGetPathFromIDList(ByVal Pidl, ByVal Chemin_Spe) Then _
Get_Chemin_Special = Left(Chemin_Spe, InStr(Chemin_Spe, Chr(0)) - 1)
Call CoTaskMemFree(Pidl)
End If
End Function

Private Sub Form_Load()
Debug.Print Get_Chemin_Special(Me.hwnd, CSIDL_PROFILE)
End Sub
0
Rejoignez-nous