■説明
親ハンドル、クラス名、ウィンドウ名から子ハンドルを探す関数
■宣言
Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" _
(ByVal hwndParent As Long, ByVal hwndChildAfter As Long, _
ByVal lpszClass As String, ByVal lpszWindow As String) As Long
第一引数:親ハンドルを指定します
第ニ引数:同名のクラス、タイトルのハンドルを取得する場合、
0を指定すると、Zオーダーで最初に該当するハンドルしか見つけません。
他の同名のハンドルを取得したい時、Zオーダーを指定することで
他の同名のハンドルも見つけることができます。
第三引数:取得したい子ハンドルのクラス名を指定します。
第四引数:ウィンドウのタイトルを指定します。
戻り値:関数が成功するとハンドルが返ってきます。失敗すると0が返ってきます
クラス名の調べ方については下記を参考にしてみてください。
→Class名の調べ方
■サンプルコード
電卓のハンドルを取得する方法です。
電卓のクラス名はSciCalcです。
親ハンドル、クラス名、ウィンドウ名から子ハンドルを探す関数
■宣言
Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" _
(ByVal hwndParent As Long, ByVal hwndChildAfter As Long, _
ByVal lpszClass As String, ByVal lpszWindow As String) As Long
第一引数:親ハンドルを指定します
第ニ引数:同名のクラス、タイトルのハンドルを取得する場合、
0を指定すると、Zオーダーで最初に該当するハンドルしか見つけません。
他の同名のハンドルを取得したい時、Zオーダーを指定することで
他の同名のハンドルも見つけることができます。
第三引数:取得したい子ハンドルのクラス名を指定します。
第四引数:ウィンドウのタイトルを指定します。
戻り値:関数が成功するとハンドルが返ってきます。失敗すると0が返ってきます
クラス名の調べ方については下記を参考にしてみてください。
→Class名の調べ方
■サンプルコード
電卓のハンドルを取得する方法です。
電卓のクラス名はSciCalcです。
Option Explicit Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Declare Function FindWindowEx Lib "user32.dll" Alias "FindWindowExA" _ (ByVal hwndParent As Long, ByVal hwndChildAfter As Long, _ ByVal lpszClass As String, ByVal lpszWindow As String) As Long Sub SampleCode() Dim hwnd As Long hwnd = FindWindow("SciCalc", "電卓") Dim HwndDisplay As Long HwndDisplay = FindWindowEx(hwnd, 0, "EDIT", "") End Sub
0 件のコメント:
コメントを投稿