#174 | ウィンドウハンドルからキャプションを取得する方法 | VBA、API | |
ウィンドウハンドルからウィンドウのキャプション(タイトルバーに表示されているウィンドウの標題)を取得するにはWindowsAPIの「GetWindowText」関数を使用します。 まず標準モジュールに次のコードを記述します。"Declare"の前に"Private"を付けることによってフォームのモジュールにも記述できます。 Declare Function GetWindowText Lib "user32" Alias "GetWindowTextA" _
(ByVal hwnd As Long, ByVal lpString As String, ByVal cch As Long) As Long 次の例は、Access自体のキャプションを取得、メッセージ表示するサンプルです。最初の引数 hWndAccessApp がAccessのウィンドウハンドルを表すApplicationオブジェクトのプロパティです。通常、Accessのタイトルを取得して利用するということはあまりないかもしれませんが、この部分にウィンドウハンドルを指定することによって、さまざまなアプリケーションのキャプションを取得することができます。 Dim strWindowText As String * 128 'キャプションを受け取る変数
Dim lngRet As Long 'API関数を呼び出します lngRet = GetWindowText(hWndAccessApp, strWindowText, Len(strWindowText)) '引数の後続の Null を取り除いて表示します MsgBox Left$(strWindowText, InStr(strWindowText, vbNullChar) - 1) 実行結果: |
|||
|
Copyright © T'sWare All rights reserved |