0

我在 VB6 中有一个循环过程,它从指定的文件路径探索所有文件夹。然后我需要知道每个检测到的文件夹是否包含 MP3 文件。我不想使用该dir命令,因为它占用了大量资源。我尝试过使用 FSO、API 等进行此操作,但找不到解决方案。

谢谢你的帮助。

4

2 回答 2

4

VB6 的 Dir$() 函数是 FindFirstFile 和朋友的一个非常轻量级的包装器。我不确定您为什么认为 FSO 会更轻或更快。

Dir$() 最大的严重限制是它是一个 ANSI 函数,并且它不能被第二次搜索“中断”,而无需重置第一次搜索的状态。

“占用大量资源”到底是什么意思?

我在DirLister 轻量级 Dir() wrapper发布了一个包装过程的类。

于 2011-09-25T00:02:19.267 回答
0

您是否尝试过 FindFirstFile API 函数?这应该是你最好的镜头。在 codeproject A Faster Directory Enumerator有一个 C# 示例

VB 签名是这样的:

<DllImport("kernel32.dll", CharSet := CharSet.Auto)> _
Private Shared Function FindFirstFile(ByVal lpFileName As String, ByRef lpFindFileData As WIN32_FIND_DATA) As IntPtr
End Function

这是一个示例 VB 实现http://www.ask-4it.com/how-to-use-findfirstfile-win32-api-from-visual-basic-code-2-ca.html

您还可以在此处找到一篇关于 API 使用的不错的 Microsoft 文章。

于 2011-09-24T23:02:23.953 回答