2011-09-24 86 views
0

我在VB6中有一個循環過程,它可以探索指定文件路徑中的所有文件夾。 然後我需要知道每個檢測到的文件夾是否包含MP3文件。 我不想使用dir命令,因爲它佔用了大量資源。 我已經嘗試使用FSO,API等做這個,但我找不到解決方案。知道文件夾是否具有指定文件類型的最佳方法

感謝您的任何幫助。

回答

0

您是否嘗試過FindFirstFile API函數?這應該是你最好的選擇。還有在CodeProject A Faster Directory Enumerator

VB的簽名是這樣的一個C#示例:

<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 here的使用一個很好的Microsoft文章。

+0

感謝您的關注,真的是一個偉大的代碼源。 – Geovanny1974

4

VB6的Dir $()函數是FindFirstFile和朋友上的一個很輕的包裝器。我不確定爲什麼你認爲FSO會更輕或更快。

Dir $()最大的嚴重侷限性在於它是一個ANSI函數,在不重置第一個搜索的狀態的情況下,它不能被第二次搜索「中斷」。

無論如何,「佔用大量資源」意味着什麼?

我發佈了一個類包裝過程DirLister lightweight Dir() wrapper

+0

對不起你有所有的理由,我錯了,程序目錄很快,現在工作很好....謝謝 – Geovanny1974

+0

很高興它幫助。查看該鏈接,現在有一個可以過濾的DirLister 2。和..文件夾名稱,並且還有深度參數。 – Bob77

相關問題