Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Browse for Folder - Browse.bas

Browse.bas

Caricato da:
Scarica il programma completo

  1. Attribute VB_Name = "Browse"
  2. Private Type Info
  3.     Owner As Long
  4.     pidlRoot As Long
  5.     pszDisplayName As String
  6.     TestoFinestra As String
  7. End Type
  8.  
  9. Private Declare Function SHGetPathFromIDList Lib "SHELL32.DLL" Alias "SHGetPathFromIDListA" (ByVal pidl As Long, ByVal pszPath As String) As Long
  10. Private Declare Function SHBrowseForFolder Lib "SHELL32.DLL" Alias "SHBrowseForFolderA" (lpBrowseInfo As Info) As Long
  11.  
  12.  
  13. 'Mostra la finestra Sfoglia cartelle
  14. Public Function BrowseFolder(hWnd As Long, Testo As String) As String
  15.  
  16.     Dim x As Long, BI As Info, dwIList As Long, szPath As String, wPos As Integer
  17.    
  18.     With BI
  19.         .Owner = hWnd 'dice alla finestra che deve avere la priorità sul form che l'ha chiamata
  20.         .TestoFinestra = Testo 'imposta la scritta nella finestra
  21.     End With
  22.    
  23.     dwIList = SHBrowseForFolder(BI)
  24.     szPath = Space$(512)    'stringa della lunghezza massima
  25.                             'consentita al percorso di un file in Windows
  26.     x = SHGetPathFromIDList(ByVal dwIList, ByVal szPath)
  27.    
  28.     If x = 1 Then
  29.         wPos = InStr(szPath, Chr(0))
  30.         BrowseFolder = Left$(szPath, wPos - 1)
  31.     Else
  32.         BrowseFolder = ""
  33.     End If
  34.    
  35. End Function