[VB]用API打开浏览文件夹对话框,选择文件夹

 1  Option   Explicit
 2 
 3  Private  Type BROWSEINFO
 4    hOwner  As   Long
 5    pidlRoot  As   Long
 6    pszDisplayName  As   String
 7    lpszTitle  As   String
 8    ulFlags  As   Long
 9    lpfn  As   Long
10    lParam  As   Long
11    iImage  As   Long
12  End  Type
13 
14  Private   Const  BIF_RETURNONLYFSDIRS  =   & H1  ' 浏览文件夹
15  Private   Const  BIF_NEWDIALOGSTYLE  =   & H40  ' 新样式(有新建文件夹按钮,可调整对话框大小)
16  Private   Const  BIF_NONEWFOLDERBUTTON  =   & H200  ' 新样式中,没有新建按钮(只调大小)
17 
18  Private  Declare  Function  SHGetPathFromIDList Lib  " shell32.dll "  Alias  " SHGetPathFromIDListA "  _
19    (ByVal pidl  As   Long , _
20    ByVal pszPath  As   String As   Long
21  Private  Declare  Function  SHBrowseForFolder Lib  " shell32.dll "  Alias  " SHBrowseForFolderA "  _
22    (lpBrowseInfo  As  BROWSEINFO)  As   Long
23 
24  Public   Function  GetFolderName(hWnd  As   Long , Text  As   String As   String
25     Dim  bi  As  BROWSEINFO
26     Dim  pidl  As   Long
27     Dim  path  As   String
28     With  bi
29      .hOwner  =  hWnd
30      .pidlRoot  =   0 &    ' 根目录,一般不需要改
31      .lpszTitle  =  Text
32      .ulFlags  =  BIF_RETURNONLYFSDIRS  ' 根据需要调整
33     End   With
34    pidl  =  SHBrowseForFolder(bi)
35    path  =   Space $( 512 )
36     If  SHGetPathFromIDList(ByVal pidl, ByVal path)  Then
37      GetFolderName  =   Left (path,  InStr (path,  Chr ( 0 ))  -   1 )
38     End   If
39  End Function

 

转载于:https://www.cnblogs.com/xxaxx/archive/2010/11/07/1871323.html

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值