|
|
|
|
|
Dicas
|
|
Visual Basic (Arquivos/Diretórios)
|
|
|
Título da Dica: Abrir Pasta
|
|
|
|
Postada em 23/11/2003 por Josefh Hennyere
jhennyere@yahoo.com.br
'Código do Formulário RichTextBox1.Text = Module1.GetFolder(Form1.hWnd, "Select folder")
'Código do Módulo
Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Const BIF_RETURNONLYFSDIRS = &H1 Const BIF_DONTGOBELOWDOMAIN = &H2 Const BIF_STATUSTEXT = &H4 Const BIF_RETURNFSANCESTORS = &H8 Const BIF_BROWSEFORCOMPUTER = &H1000 Const BIF_BROWSEFORPRINTER = &H2000
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
Function GetFolder(ByVal hWndOwner As Long, ByVal sTitle 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 = hWndOwner bInf.lpszTitle = sTitle bInf.ulFlags = BIF_RETURNONLYFSDIRS PathID = SHBrowseForFolder(bInf) RetPath = Space$(512) RetVal = SHGetPathFromIDList(ByVal PathID, ByVal RetPath) If RetVal Then Offset = InStr(RetPath, Chr$(0)) GetFolder = Left$(RetPath, Offset - 1) End If End Function
Josefh Hennyere
|
|
|
|
|