Control para ver directorios

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

1 respuesta

Respuesta
1
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 = ""

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas