Atlanta Custom Software Development 

 
   Search        Code/Page
 

User Login
Email

Password

 

Forgot the Password?
Services
» Web Development
» Maintenance
» Data Integration/BI
» Information Management
Programming
  Database
Automation
OS/Networking
Graphics
Links
Tools
» Regular Expr Tester
» Free Tools

Search a file in a directory tree using the Imagehlp DLL

Total Hit ( 3665)

Rate this article:     Poor     Excellent 

 Submit Your Question/Comment about this article

Rating


 


You can search a file in all the subdirectories of a given drive in VB using a recursive routine based on the Dir$ function, the FileSystemObject component, or the FindFirstFile/FindNextFile API functions. There is a fourth way you might want to try out, based on the SearchTreeForFile function embedded in the ImageHlp DLL. The following routine takes advantage of this API function:

Note that when you use the SearchTreeForFile API function your program must wait until the file is found or the entire hard disk has been scanned. For this reason you might want to display a warning to the end user, explaining that the search might take a long time. For this reason this routine is especially useful to quickly scan a smaller directory subtree, rather than an entire drive.

Click here to copy the following block
Private Declare Function SearchTreeForFile Lib "imagehlp.dll" (ByVal sRootPath _
  As String, ByVal InputPathName As String, ByVal OutputPathBuffer As String) _
  As Boolean

' search a file on directory subtree
'
' returns the complete path+name of the filename
' or a null string if the filename hasn't been found
' only the first occurrence of the file is returned
'
' ROOTDIR can be a drive root dir (e.g. "C:\") or a subdir ("C:\DOCS")

Function SearchFileInDirTree(ByVal rootDir As String, ByVal Filename As String) _
  As String
  ' this is the max length for a filename
  Dim buffer As String * 260
  If SearchTreeForFile(rootDir, Filename, buffer) Then
    ' a non-zero return value means success
    SearchFileInDirTree = Left$(buffer, InStr(buffer, vbNullChar) - 1)
  End If
End Function


Submitted By : Nayan Patel  (Member Since : 5/26/2004 12:23:06 PM)

Job Description : He is the moderator of this site and currently working as an independent consultant. He works with VB.net/ASP.net, SQL Server and other MS technologies. He is MCSD.net, MCDBA and MCSE. In his free time he likes to watch funny movies and doing oil painting.
View all (893) submissions by this author  (Birth Date : 7/14/1981 )


Home   |  Comment   |  Contact Us   |  Privacy Policy   |  Terms & Conditions   |  BlogsZappySys

© 2008 BinaryWorld LLC. All rights reserved.