タスクリストを取得 <TOP>
タスクリストを取得し表示します。
GetWindow 指定されたウィンドウと指定された関係にあるウィンドウのハンドルを取得
GetParent 指定されたウィンドウの親ウィンドウまたはオーナーウィンドウのハンドルを取得
GetWindowTextLength ウィンドウのタイトル文字数を取得
GetWindowText ウインドウのタイトル文字列を取得
'================================================================ '= タスクリストの表示
'= (TaskList.bas) '================================================================ #include "Windows.bi" ' 指定されたウィンドウと指定された関係にあるウィンドウのハンドルを取得 Declare Function Api_GetWindow& Lib "user32" Alias "GetWindow" (ByVal hWnd&, ByVal wCmd&) ' 指定されたウィンドウの親ウィンドウまたはオーナーウィンドウのハンドルを取得 Declare Function Api_GetParent& Lib "user32" Alias "GetParent" (ByVal hWnd&) ' ウィンドウのタイトル文字数を取得 Declare Function Api_GetWindowTextLength& Lib "user32" Alias "GetWindowTextLengthA" (ByVal hWnd&) ' ウインドウのタイトル文字列を取得 Declare Function Api_GetWindowText& Lib "user32" Alias "GetWindowTextA" (ByVal hWnd&, ByVal lpString$, ByVal cch&) #define GW_HWNDFIRST 0 '最初のウィンドウ #define GW_HWNDNext 2 '次のウィンドウ Var Shared List1 As Object Var Shared Button1 As Object List1.Attach GetDlgItem("List1") : List1.SetFontSize 14 Button1.Attach GetDlgItem("Button1") : Button1.SetFontSize 14 '================================================================ '= '================================================================ Declare Sub TaskListGet() Sub TaskListGet() Var CurrWnd As Long Var Length As Long Var TaskName As String Var Parent As Long List1.ResetContent CurrWnd = Api_GetWindow(GethWnd, GW_HWNDFIRST) While CurrWnd <> 0 Parent = Api_GetParent(CurrWnd) Length = Api_GetWindowTextLength(CurrWnd) TaskName = space$(Length + 1) Length = Api_GetWindowText(CurrWnd, TaskName, Length + 1) TaskName = Left$(TaskName, Len(TaskName) - 1) If Length <> 0 Then If TaskName <> GetWIndowText Then List1.AddString TaskName End If End If CurrWnd = Api_GetWindow(CurrWnd, GW_HWNDNext) CallEvent Wend End Sub '================================================================ '= '================================================================ Declare Sub Button1_on edecl () Sub Button1_on() TaskListGet End Sub '================================================================ '= '================================================================ While 1 WaitEvent Wend Stop End