Когда в эту библиотеку в 2ом параметре передаёшь путь "e:\Documents And Settings\", она нормально находит файл, но если передать "е:\" - возвращает 0! =(
С длиной пути это, наверное, не связано - MAX_PATH явно больше...
- Код: Выделить всё
Private Declare Function SearchTreeForFile Lib "ImageHlp.dll" (ByVal lpRoot As String, ByVal lpInPath As String, ByVal lpOutPath As String) As Long
Function LocateFile(ByVal strFilename As String, ByVal strRootPath As String) As String
Dim strBuffer As String
Dim lngResult As Long
Const MAX_PATH = 999
LocateFile = ""
strBuffer = String$(MAX_PATH, 0)
lngResult = SearchTreeForFile(strRootPath, strFilename, strBuffer)
If lngResult <> 0 Then
If InStr(strBuffer, vbNullChar) > 0 Then
LocateFile = Left$(strBuffer, InStr(strBuffer, vbNullChar) - 1)
End If
End If
End Function