指定したファイル属性の項目を表示 <TOP>
特定のファイル属性の項目を表示します。
SendMessage 指定のウィンドウにメッセージを送る
'================================================================ '= 指定したファイル属性の項目を表示
'= (SendMessage7.bas) '================================================================ #include "Windows.bi" ' ウィンドウにメッセージを送信。この関数は、指定したウィンドウのウィンドウプロシージャが処理を終了するまで制御を返さない Declare Function Api_SendMessage& Lib "user32" Alias "SendMessageA" (ByVal hWnd&, ByVal wMsg&, ByVal wParam&, lParam As Any) #define CB_DIR &H145 'コンボボックスにファイル名を追加 #define LB_DIR &H18D 'リストボックスにファイル名を追加 #define DDL_ARCHIVE &H20 'アーカイブされたファイル #define DDL_DIRECTORY &H10 '[ ]形式でディレクトリを表示 #define DDL_DRIVES &H4000 '[-x-]形式でドライブを表示 #define DDL_EXCLUSIVE &H8000 '指定された属性のファイルだけをリスト表示 #define DDL_HIDDEN &H2 '隠しファイル #define DDL_READONLY &H1 '読み取り専用ファイル #define DDL_READWRITE &H0 '読み取り・書き込み可能なファイル #define DDL_SYSTEM &H4 'システムファイル Var Shared Combo1 As Object Var Shared List1 As Object Var Shared Edit1 As Object Var Shared Button1 As Object Combo1.Attach GetDlgItem("Combo1") : Combo1.SetFontSize 14 List1.Attach GetDlgItem("List1") : List1.SetFontSize 14 Edit1.Attach GetDlgItem("Edit1") : Edit1.SetFontSize 14 Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14 '================================================================ '= '================================================================ Declare Sub MainForm_Start edecl () Sub MainForm_Start() Combo1.AddString "ドライブ" Combo1.AddString "ディレクトリ" Combo1.AddString "ファイル" End Sub '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() Var Index As Long Var DirAttr As Long Var DirFileSpec As String Var Ret As Long '取得するファイルのパスを指定 DirFileSpec = Trim$(Edit1.GetWindowtext) 'ファイル属性を指定 Index = Combo1.GetCursel If Index = -1 Then Exit Sub Select Case Index Case 0 DirAttr = DDL_EXCLUSIVE Or DDL_DRIVES Case 1 DirAttr = DDL_EXCLUSIVE Or DDL_DIRECTORY Case 2 DirAttr = DDL_EXCLUSIVE Or DDL_ARCHIVE Or DDL_HIDDEN End Select 'リストボックスをクリア List1.Resetcontent 'リストボックスに指定したファイル属性の項目を追加 Ret = Api_SendMessage(List1.GethWnd, LB_DIR, DirAttr, DirFileSpec) End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End