文儿资料真实姓名:vb菜鸟求助,懂vb的帮帮忙~~

来源:百度文库 编辑:杭州交通信息网 时间:2024/03/28 22:18:52
Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long

这个函数什么功能?都有什么参数?
谢谢!!!!!
谁能详细介绍下。。。
谢谢

SHBrowseForFolder

使用标准的Windows对话框选择一个目录,
和Microsoft CommonDialogBox差不多.
可以设置目录选择对话框的对观,
比如,设置可以让用户新建一个目录,
也可以加一个文本框在对话框上.
具体的可以参看VB企业版的API浏览器中的API常数

例:

'将下列代码放在一个窗体中
'窗体上建立一个按钮(name:command1)
'一个文本框(name:text1)
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
Const BIF_RETURNONLYFSDIRS = &H1
Private pidl As Long
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 Sub command1_Click()
Dim bi As BROWSEINFO
Dim r As Long
Dim pidl As Long
Dim path As String
Dim pos As Integer
'句柄
bi.hOwner = Me.hWnd
'展开根目录
bi.pidlRoot = 0&
'列表框标题
bi.lpszTitle = "请选择软件安装路径:"
'规定只能选择文件夹,其他无效
bi.ulFlags = BIF_RETURNONLYFSDIRS
'调用API函数显示列表框
pidl = SHBrowseForFolder(bi)
'利用API函数获取返回的路径
path = Space$(512)
r = SHGetPathFromIDList(ByVal pidl&, ByVal path)
If r Then
pos = InStr(path, Chr$(0))
Text1 = Left(path, pos - 1)
Else: Text1 = ""
End If
End Sub

显示 选择目录 的对话框

参数就是那个 lpbi As BrowseInfo