MyException - 我的异常网
当前位置:我的异常网» VB » VB怎么打开这样的文件夹浏览对话框

VB怎么打开这样的文件夹浏览对话框

www.MyException.Cn  网友分享于:2013-06-27  浏览:12次
VB如何打开这样的文件夹浏览对话框?
本帖最后由 zhuozhuo2011 于 2013-05-18 14:58:45 编辑
VB 文件夹浏览对话框

------解决方案--------------------
引用ms common diaolog 控件
------解决方案--------------------
本帖最后由 bcrun 于 2013-05-19 15:09:04 编辑
Private Const BIF_BROWSEINCLUDEFILES = &H4000  '// Browsing for Everything

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

'API's for selecting a windows directory
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
Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal pv As Long)

Public Function GetDirectory(hWnd As Long) As String
    Dim bi As BROWSEINFO
    Dim pidl As Long
    Dim Path As String, Pos As Long

    bi.hOwner = hWnd
    bi.pidlRoot = 0&
    bi.lpszTitle = "选择文件夹..."
    bi.ulFlags = BIF_RETURNONLYFSDIRS
    pidl = SHBrowseForFolder(bi)
    Path = Space$(256)

    If SHGetPathFromIDList(ByVal pidl, ByVal Path) Then
        Pos = InStr(Path, Chr$(0))
        GetDirectory = Left$(Path, Pos - 1)
    End If
    
    Call CoTaskMemFree(pidl)
End Function

'Public Function GetStrByteNum(s As String) As Long
'    GetStrByteNum = LenB(StrConv(s, vbFromUnicode))
'End Function


------解决方案--------------------

文章评论

软件开发程序错误异常ExceptionCopyright © 2009-2015 MyException 版权所有