关于获取 文件/文件夹 名称
不使用控件,已知一目录(假设 App.Path):
1. 如何通过 VB6 实现在 ListBox 上显示所有该目录的文件夹名称(如果没有任何文件加则返回信息)?
2. 如何通过 VB6 实现在 ListBox 上显示所有该目录内 *.abc 的文件名称(如果没有任何文件加则返回信息)?
问题点数:20、回复次数:2Top
1 楼rainstormmaster(暴风雨 v2.0)回复于 2006-03-12 23:09:58 得分 20
Option Explicit
Private Declare Function SendMessage Lib "user32" _
Alias "SendMessageA" _
(ByVal hwnd As Long, _
ByVal wMsg As Long, _
ByVal wParam As Long, _
lParam As Any) As Long
Private Const LB_DIR = &H18D
Private Const LB_RESETCONTENT = &H184
Private Const DDL_READWRITE = &H0
Private Const DDL_READONLY = &H1
Private Const DDL_HIDDEN = &H2
Private Const DDL_SYSTEM = &H4
Private Const DDL_DIRECTORY = &H10
Private Const DDL_ARCHIVE = &H20
Private Const DDL_DRIVES = &H4000
Private Const DDL_EXCLUSIVE = &H8000&
Private Const DDL_POSTMSGS = &H2000
Private Const DDL_FLAGS = DDL_ARCHIVE Or DDL_DIRECTORY
Dim mPath As String
Private Sub Command1_Click()
Dim mPath As String
mPath = "g:\downloads\" '换成你的文件夹路径
Dim spath As String
spath = mPath + "*.rar"
'clear and populate the listbox
Call SendMessage(List1.hwnd, LB_RESETCONTENT, 0, ByVal 0)
Call SendMessage(List1.hwnd, LB_DIR, DDL_EXCLUSIVE Or DDL_ARCHIVE, ByVal spath)
End Sub
Private Sub Command2_Click()
Dim mPath As String
mPath = "g:\downloads\" '换成你的文件夹路径
Dim spath As String
spath = mPath + "*.*"
Call SendMessage(List1.hwnd, LB_RESETCONTENT, 0, ByVal 0)
Call SendMessage(List1.hwnd, LB_DIR, DDL_EXCLUSIVE Or DDL_DIRECTORY, ByVal spath)
End Sub
Private Sub Form_Load()
Command1.Caption = "get rar files"
Command1.Caption = "get Directory"
End Sub
如果想要包括子目录下的文件和文件夹的话,要用递归函数实现Top
2 楼Tomoki(友树)回复于 2006-03-17 20:21:02 得分 0
谢谢Top




