■説明
親ハンドル、クラス名、ウィンドウ名から子ハンドルを探す関数
■宣言
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 件のコメント:
コメントを投稿