modFolderBrowse.bas
上传用户:yexiandon
上传日期:2022-07-12
资源大小:895k
文件大小:2k
- Attribute VB_Name = "modFolderBrowse"
- '****************************************************************************
- '人人为我,我为人人
- '枕善居收藏整理
- '发布日期:2008/01/21
- '描 述:汽车维修管理系统SQL2000版
- '网 站:http://www.Mndsoft.com/ (VB6源码博客)
- '网 站:http://www.VbDnet.com/ (VB.NET源码博客,主要基于.NET2005)
- 'e-mail :Mndsoft@163.com
- 'e-mail :Mndsoft@126.com
- 'OICQ :88382850
- ' 如果您有新的好的代码别忘记给枕善居哦!
- '****************************************************************************
- Option Explicit
- Public Type BrowseInfo
- hwndOwner As Long
- pIDLRoot As Long
- pszDisplayName As Long
- lpszTitle As Long
- ulFlags As Long
- lpfnCallback As Long
- lParam As Long
- iImage As Long
- End Type
- Public Const BIF_RETURNONLYFSDIRS = 1
- Public Const MAX_PATH = 260
- Public Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)
- Public Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long
- Public Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long
- Public Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long
- Public Function BrowseForFolder(hwndOwner As Long, sPrompt As String) As String
- Dim iNull As Integer
- Dim lpIDList As Long
- Dim lResult As Long
- Dim sPath As String
- Dim udtBI As BrowseInfo
- With udtBI
- .hwndOwner = hwndOwner
- .lpszTitle = lstrcat(sPrompt, "")
- .ulFlags = BIF_RETURNONLYFSDIRS
- End With
- lpIDList = SHBrowseForFolder(udtBI)
-
- If lpIDList Then
- sPath = String$(MAX_PATH, 0)
- lResult = SHGetPathFromIDList(lpIDList, sPath)
- Call CoTaskMemFree(lpIDList)
- iNull = InStr(sPath, vbNullChar)
- If iNull Then sPath = Left$(sPath, iNull - 1)
- End If
- BrowseForFolder = sPath
- End Function