Ver Mensaje Individual
  #2 (permalink)  
Antiguo 02/07/2006, 21:47
Avatar de marcos1979
marcos1979
 
Fecha de Ingreso: abril-2004
Ubicación: 62º 06' 18" O / 33º 07' 47" S
Mensajes: 331
Antigüedad: 20 años, 1 mes
Puntos: 1
Prueba con esto:

Código:
Const NOERROR = 0
Const CSIDL_DESKTOP = &H0
Const CSIDL_PROGRAMS = &H2
Const CSIDL_CONTROLS = &H3
Const CSIDL_PRINTERS = &H4
Const CSIDL_PERSONAL = &H5
Const CSIDL_FAVORITES = &H6
Const CSIDL_STARTUP = &H7
Const CSIDL_RECENT = &H8
Const CSIDL_SENDTO = &H9
Const CSIDL_BITBUCKET = &HA
Const CSIDL_STARTMENU = &HB
Const CSIDL_DESKTOPDIRECTORY = &H10
Const CSIDL_DRIVES = &H11
Const CSIDL_NETWORK = &H12
Const CSIDL_NETHOOD = &H13
Const CSIDL_FONTS = &H14
Const CSIDL_TEMPLATES = &H15
Const MAX_PATH = 260

Private Type SHITEMID
    cb As Long
    abID As Byte
End Type

Private Type ITEMIDLIST
    mkid As SHITEMID
End Type

Private Declare Function SHGetSpecialFolderLocation Lib "shell32.dll" (ByVal hwndOwner As Long, ByVal nFolder As Long, pidl As ITEMIDLIST) As Long
Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long

Private Path As String

Private Function GetSpecialfolder(CSIDL As Long) As String
    
    Dim r As Long
    Dim IDL As ITEMIDLIST
    
    r = SHGetSpecialFolderLocation(100, CSIDL, IDL)
    
    If r = NOERROR Then
        Path = Space(512)
        r = SHGetPathFromIDList(IDL.mkid.cb, Path)
        GetSpecialfolder = Left(Path, InStr(Path, Chr(0)) - 1)
        Exit Function
    End If
    
    GetSpecialfolder = ""
    
End Function

    'Para la carpeta Mis Documentos
    MsgBox GetSpecialfolder(CSIDL_PERSONAL)
Un saludo
__________________
Marcos

El dinero no da la felicidad... démelo y sea feliz!!!