打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
利用win32 api实现vb6选择目录功能
Vb6代码  
  1. Option Explicit  
  2. Public Type BrowseInfo  
  3.      hwndOwner As Long  
  4.      pIDLRoot As Long  
  5.      pszDisplayName As Long  
  6.      lpszTitle As Long  
  7.      ulFlags As Long  
  8.      lpfnCallback As Long  
  9.      lParam As Long  
  10.      iImage As Long  
  11. End Type  
  12.   
  13. Private Const BIF_RETURNONLYFSDIRS = 1  
  14. Private Const MAX_PATH = 260  
  15.   
  16. Private Declare Sub CoTaskMemFree Lib "ole32.dll" (ByVal hMem As Long)  
  17. Private Declare Function lstrcat Lib "kernel32" Alias "lstrcatA" (ByVal lpString1 As String, ByVal lpString2 As String) As Long  
  18.   
  19. Private Declare Function SHBrowseForFolder Lib "shell32" (lpbi As BrowseInfo) As Long  
  20. Private Declare Function SHGetPathFromIDList Lib "shell32" (ByVal pidList As Long, ByVal lpBuffer As String) As Long  
  21.   
  22. Public Function BrowseForFolder(hwndOwner As Long, sPrompt As String) As String  
  23.        
  24.     '定义变量  
  25.      Dim iNull As Integer  
  26.      Dim lpIDList As Long  
  27.      Dim lResult As Long  
  28.      Dim sPath As String  
  29.      Dim udtBI As BrowseInfo  
  30.   
  31.     '初始化.....  
  32.      With udtBI  
  33.         .hwndOwner = hwndOwner  
  34.         .lpszTitle = lstrcat(sPrompt, "")  
  35.         .ulFlags = BIF_RETURNONLYFSDIRS  
  36.      End With  
  37.   
  38.     '调用API  
  39.      lpIDList = SHBrowseForFolder(udtBI)  
  40.     '得到返回结果  
  41.     If lpIDList Then  
  42.         sPath = String$(MAX_PATH, 0)  
  43.         lResult = SHGetPathFromIDList(lpIDList, sPath)  
  44.         Call CoTaskMemFree(lpIDList)  
  45.         iNull = InStr(sPath, vbNullChar)  
  46.         If iNull Then sPath = Left$(sPath, iNull - 1)  
  47.      End If  
  48.      BrowseForFolder = sPath  
  49.   
  50. End Function  


直接调用获取路径
Java代码  
  1. path = BrowseForFolder(hWnd, "请选择一个目录")  

hWnd是内置变量,无需定义赋值。   
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
一个Vb中的通用对话框函数
感悟VB细水长流话API(三)
VBA代码调用浏览文件夹对话框的几种方法
VB调用系统的"打印机设置"和"页面设置".
发一个掏钱还不一定买得到, 真正完美的SHBrowseForFolder浏览文件夹方法
vb中 打开文件夹浏览框的方法总结
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服