■説明
クラス名やウィンドウ名からウィンドウハンドルを探す関数
■宣言
Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
第一引数:取得したいウィンドウのクラス名を指定します。
第ニ引数:ウィンドウのタイトルを指定します。
戻り値:関数が成功するとハンドルが返ってきます。失敗すると0が返ってきます
クラス名の調べ方については下記を参考にしてみてください。
→Class名の調べ方
■サンプルコード
電卓のハンドルを取得する方法です。
電卓のクラス名はSciCalcです。
クラス名とウィンドウタイトル名の指定のみなのでさほど難しいことはなさそうですね。
ちなみに、複数の電卓を開いている場合、一番手前側にある電卓のハンドルを取得するようです。
クラス名やウィンドウ名からウィンドウハンドルを探す関数
■宣言
Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As Long
第一引数:取得したいウィンドウのクラス名を指定します。
第ニ引数:ウィンドウのタイトルを指定します。
戻り値:関数が成功するとハンドルが返ってきます。失敗すると0が返ってきます
クラス名の調べ方については下記を参考にしてみてください。
→Class名の調べ方
■サンプルコード
電卓のハンドルを取得する方法です。
電卓のクラス名はSciCalcです。
Option Explicit Declare Function FindWindow Lib "user32.dll" Alias "FindWindowA" _ (ByVal lpClassName As String, ByVal lpWindowName As String) As Long Sub SampleCode() Dim hwnd As Long hwnd = FindWindow("SciCalc", "電卓") Debug.Print "電卓のハンドル:" & hwnd End Sub
クラス名とウィンドウタイトル名の指定のみなのでさほど難しいことはなさそうですね。
ちなみに、複数の電卓を開いている場合、一番手前側にある電卓のハンドルを取得するようです。
0 件のコメント:
コメントを投稿