Me tope con una funcion del API de Windows que se encarga de buscar la localizacion de un archivo a partir de una ruta que se le pasa como parametro, tal y como hace el buscador de Windows:
Código:
Option Explicit

Private Declare Function SearchTreeForFile Lib "imagehlp" (ByVal RootPath As String, ByVal InputPathName As String, ByVal OutputPathBuffer As String) As Long

Private Const MAX_PATH = 260
Private Sub Form_Load()
 'KPD-Team 2000
 'URL: http://www.allapi.net/
 'E-Mail: KPDTeam@Allapi.net

 Dim tempStr As String, Ret As Long

 'create a buffer string
 tempStr = String(MAX_PATH, 0)

 'returns 1 when successfull, 0 when failed
 Ret = SearchTreeForFile("c:\", "explorer.exe", tempStr)
 If Ret <> 0 Then
 MsgBox "Located file at " + Left$(tempStr, InStr(1, tempStr, Chr$(0)) - 1)
 Else
 MsgBox "File not found!"
 End If
End Sub
Ojo que si la ubicacion a buscar es muyextensa en cuanto a numero de directorios y archivos contenidos en ellos la funcion se puede demorar bastante hasta terminar. Mientras la funcion este funcionando se detendra la aplicacion.

Salu2...