下载后可任意编辑vb 中 5 种打开文件夹浏览框的方法总结 文章录入:浣花溪 责任编辑:snow 1038 【字体:小 大】 by daokers 众所周知,在 vb 中假如是打开某一个文件的话,非常简单,使用 CommonDialog 组件即可轻松完成,但是他只能选择文件,之后或许选取的文件路径,而假如想要浏览文件夹,就没这么方便了。这里介绍 3 个办法来实现文件夹浏览。第一个非常简单,利用 Shell 对象 程序代码'引用 Microsoft Shell Controls And AutomationDim ShellA As New ShellPrivate Sub Command1_Click() '建立一个按钮对象 Dim Shellb As FolderSet Shellb = ShellA.BrowseForFolder(0, "选择文件夹", 下载后可任意编辑0)ShellA.Open bEnd Sub记 得 一 定 要 引 用 Microsoft Shell Controls And Automation第二种方法,我们同样利用 shell 对象,但是加几个函数程序代码'引用 Microsoft Shell Controls And AutomationPrivate shlShell As Shell32.ShellPrivate shlFolder As Shell32.FolderPrivate Const BIF_RETURNONLYFSDIRS = &H1Private Sub Command1_Click() ' If shlShell Is Nothing Then Set shlShell = New Shell32.Shell End If Set shlFolder = shlShell.BrowseForFolder(Me.hWnd, 下载后可任意编辑"请选择文件夹", BIF_RETURNONLYFSDIRS) If Not shlFolder Is Nothing Then MsgBox shlFolder.Items.Item.Path '测试 End IfEnd Sub上面 2 个方法的结果如图:第三个方法,是利用 API 来操作。 程序代码Private Const BIF_RETURNONLYFSDIRS = 1Private Const BIF_DONTGOBELOWDOMAIN = 2Private Const MAX_PATH = 260Private Declare Function SHBrowseForFolder Lib "Shell32" (lpbi As BrowseInfo) As Long下载后可任意编辑Private Declare Function SHGetPathFromIDList Lib "Shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As LongPrivate Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As LongPrivate Type BrowseInfo hWndOwner As Long pIDLRoot As Long pszDisplayName As Long lpszTitle As Long ulFlags As Long lpfnCallback As Long lParam As ...