用VB实现目录选择+浏览

原创 2001年07月04日 10:08:00

'下面用API实现目录浏览,选择目录,如果有高手能够在选择目录时新建一个,请续,谢谢!

'Common.bas*************************************************************

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

    '调用API
     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

'**************************************************************************

下面在窗体中的按钮中调用

Private Sub cmdBrowse_Click()
Dim strResFolder As String

strResFolder = BrowseForFolder(hWnd, "请选择一个目录.")

If strResFolder = "" Then
    Call MsgBox("你取消了选择目录..", vbExclamation)
Else
    Call MsgBox("目录" & strResFolder & "被选择!", vbExclamation)
End If

End Sub

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

VB实现选取文件夹路径

在VB中直接选取文件路径直接使用控件就可以实现 选取文件夹路径可以采用下述办法。   添加模块文件直接进行调用。模块内容代码 '--------------------------------...
  • ROVAST
  • ROVAST
  • 2014-04-22 18:24
  • 3149

JS打开本地文件夹并选中文件jquery

var wsh = new ActiveXObject("WSCript.shell"); var src = /select,c:\boot.ini; wsh.run...
  • lumengabc
  • lumengabc
  • 2014-11-09 22:06
  • 4690

C++文件(夹)选择对话框

由于各种应用,我们需要调用系统的打开文件对话框或者打开文件夹对话框,或两者兼有。今遇到这个情况已经解决,特写下这篇博文。 1.打开文件对话框常用的方法是使用系统的CFileDialog。这里介绍另外...
  • xdrt81y
  • xdrt81y
  • 2013-11-06 12:05
  • 22157

关闭Apache的目录浏览功能

前阵子,我刚刚把我的网站从ASP转到PHP,并启用了UrlRewrite的功能,但是发现我的网站每个目录都是可以被打开的浏览的,这样感觉很不安全,尤其是当网站上放了许多文件可以下载的情况下。 所以我...
  • cangyingaoyou
  • cangyingaoyou
  • 2014-01-15 17:39
  • 2679

VB 用CommonDialog选择打开多个文件实例

在Visual Basic中,通常用CommonDialog公共对话框来选择磁盘上的文件,在其Flags属性中加上cdlOFNAllowMultiselect风格后,就允许选择多个文件。当只选择一个文...
  • kartik
  • kartik
  • 2013-03-12 11:50
  • 1493

Linux中浏览文件的各种命令

1、使用cat命令liu
  • kerry0071
  • kerry0071
  • 2014-06-04 16:50
  • 4481

MFC总结(10) ---- MFC中CFileDialog 实现浏览文件和浏览目录功能

CFileDialog文件选择对话框的使用:首先构造一个对象并提供相应的参数,构造函数原型如下: CFileDialog::CFileDialog( BOOL bOpenFileDialog, L...
  • oBuYiSeng
  • oBuYiSeng
  • 2015-11-12 10:29
  • 2137

[WPF] 文件路径选择控件

1、创建一个WPF的自定义控件,SelectPathControl。 2、修改Style <ResourceDictionary xmlns="http://schemas.microsof...
  • wushang923
  • wushang923
  • 2013-07-02 17:19
  • 5694

如何实现访问apache时的目录浏览功能(apache file list view)

我用apache做了一个文件分享功能的站点(如下图),可以实现了http模式的文件查看和下载。有的朋友看到了奇怪问这是怎么做到的,这其实只是一些appche服务器的基本功能,搞前端的coder也要了解...
  • chen_gong1992
  • chen_gong1992
  • 2016-12-02 18:30
  • 4136

与辛星一起在vim中加入目录浏览功能

随着用vim越来越多,也就越发感觉到vim的强大,比如最近又很需要目录浏览这一功能,于是就去搜索了下相关的东西,感觉网上的知识很多,但是很杂,于是,就自己花点时间去整理一下。        第一步,...
  • xinguimeng
  • xinguimeng
  • 2014-08-09 09:25
  • 844
[startrelatedarticlesad1]

{relatedtitle}

{relateddes}
[endrelatedarticlesad1] [startrelatedarticlesad2] [endrelatedarticlesad2]
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)