<System.Runtime.InteropServices.DllImport("kernel32")> Shared Function _
SearchPath(ByVal tartPath As String, ByVal fileName As String, _
ByVal extension As String, ByVal bufferLength As Integer, _
ByVal buffer As System.Text.StringBuilder, ByVal filePart As String) As _
Integer
End Function
' Searches a file on the system
' Returns the complete file path+name, or "" if file not found
'
' If searchDirs is omitted, then the file is searched
' in the following directories, in this order
' 1. the directory from where the app loaded
' 2. the current directory
' 3. the \Windows\System32 directory (if under WinNT)
' 4. the \Windows\System directory
' 5. the \Windows directory
' 6. the directories listed in the PATH environment variable
'
' Example: Debug.WriteLine(SearchFileOnPath("TestApp.exe"))
Function SearchFileOnPath(ByVal fileName As String, Optional ByVal searchDirs _
As String = "") As String
Dim buffer As New System.Text.StringBuilder(260)
SearchPath(searchDirs, fileName, Nothing, buffer.Capacity, buffer, Nothing)
Return buffer.ToString()
End Function