AHI LES VA UNA PREGUNTA, HABER SI MUY CA..., COMO SE LE HACE PARA PODER VER EN EL CONTROL DIR1 DIRECORIOS OCULTOS ME CAE QUE LE DOY LA MAS ALTA CAL. A QUIEN LA CONTESTE
No te contesto directamente a tu pregunta pero te doy 2 posibles soluciones. Si lo que quieres es poder seleccionar un directorio puedes utilizar la ventana de selección de directorios de windows aquí tienes el código '**************************************************************************************** ' API BuscarDirectorio '**************************************************************************************** Private Type BROWSEINFO hOwner As Long pidlRoot As Long pszDisplayName As String lpszTitle As String ulFlags As Long lpfn As Long lParam As Long iImage As Long End Type 'BROWSEINFO.ulFlags values: Const BIF_RETURNONLYFSDIRS = &H1 Private Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long Private Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long 'In code... '********************************************************************************************************************** '** BuscarDirectorio '********************************************************************************************************************** Public Function BuscarDirectorio(ByVal hwnd As Long, Texto As String) As String Dim bInf As BROWSEINFO Dim RetVal As Long Dim PathID As Long Dim RetPath As String Dim Offset As Integer bInf.hOwner = hwnd bInf.lpszTitle = Texto bInf.ulFlags = BIF_RETURNONLYFSDIRS 'Muestra la ventana de busqueda de directorio PathID = SHBrowseForFolder(bInf) RetPath = Space$(512) RetVal = SHGetPathFromIDList(ByVal PathID, ByVal RetPath) If RetVal Then Offset = InStr(RetPath, Chr$(0)) 'MsgBox ":" & Chr$(10) & Chr$(10) & Left$(RetPath, Offset - 1), vbInformation, "SHBrowseForFolder Demo" BuscarDirectorio = Left$(RetPath, Offset - 1) Else BuscarDirectorio = "" End If End Function Y si esto no te sirve puedes crearte tu un listbox, que emule al control DIR1 El siguiente ejemplo muestra como rellenar un listbox con todos los directorios del directorio "C:\WINNT", ocultos incluidos Dim sDir As String Dim sPath As String sPath = "C:\winnt\" sDir = Dir("C:\winnt\", vbDirectory + vbHidden) Do If (GetAttr(sPath & sDir) And vbDirectory) = vbDirectory Then List1.AddItem sDir sDir = Dir Loop Until sDir = ""