美文网首页
调用API获取路径名称

调用API获取路径名称

作者: IT小C | 来源:发表于2016-04-02 17:17 被阅读53次
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
Dim pidl As Long
Declare Function SHGetPathFromIDList Lib "shell32.dll" Alias "SHGetPathFromIDListA" (Byval pidl As Long, Byval pszPath As String) As Long
Declare Function SHBrowseForFolder Lib "shell32.dll" Alias "SHBrowseForFolderA" (lpBrowseInfo As BROWSEINFO) As Long
Function GetSourceFolder As String
On Error Goto errorline 
Dim bi As BROWSEINFO
Dim r As Long
Dim pidl As Long
Dim path As String
Dim pos As Integer
'句柄
bi.hOwner = 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)) 
  GetSourceFolder = Left(path, pos - 1)
Else
  GetSourceFolder = "" 
End If
Exit Function
errorline:
GetSourceFolder = ""
continue = False
Exit Function
End Function

相关文章

网友评论

      本文标题:调用API获取路径名称

      本文链接:https://www.haomeiwen.com/subject/otzylttx.html