ファイルのディレクトリツリーを検索          <TOP>


指定されたファイルのディレクトリツリーを検索します。フォルダはC:\だけでも良いのですが、絞り込んだ方が検索が速くなります。

SearchTreeForFile 指定されたファイルのディレクトリツリーを検索

 

 

'================================================================
'= ファイルのパスを取得
'=    (SearchTreeForFile.bas)
'================================================================
#include "Windows.bi"

' 指定されたファイルのディレクトリツリーを検索
Declare Function Api_SearchTreeForFile& Lib "imagehlp" Alias "SearchTreeForFile" (ByVal RootPath$, ByVal InputPathName$, ByVal OutputPathBuffer$)

#define MAX_PATH 260

Var Shared Edit(2) As Object
Var Shared Text(2) As Object

For i = 0 To 2
    Edit(i).Attach GetDlgItem("Edit" & Trim$(Str$(i + 1))) : Edit(i).SetFontSize 14
    Text(i).Attach GetDlgItem("Text" & Trim$(Str$(i + 1))) : Text(i).SetFontSize 14
Next

'================================================================
'                                                                =
'================================================================
Declare Sub Button1_on edecl ()
Sub Button1_on()
    Var RootFolder As String
    Var FileName As String
    Var Buff As String
    Var Ret As Long

    RootFolder = Edit(0).GetWindowtext
    FileName = Edit(1).GetWindowtext

    Buff = String$(MAX_PATH, Chr$(0))            ' バッファ初期化

    Ret = Api_SearchTreeForFile(RootFolder, FileName, Buff)

    If Ret <> 0 Then
        Edit(2).SetWindowText Left$(Buff, InStr(1, Buff, Chr$(0)) - 1)
    Else
        Edit(2).SetWindowText "File not found!"
    End If
End Sub

'================================================================
'=
'================================================================
While 1
    WaitEvent
Wend
Stop
End