TOP > カテゴリ > Visual Basic >

ウインドウに関する情報を取得する

ウインドウに関する情報を取得するサンプルです。

サンプルの実行画面

ソースコード

[GetWindowLong.frm]

'GetWindowLong =>ウインドウに関するデータを取得

'<引数>
'hWnd:    ウインドウのハンドル
'nIndex: 定数(GWL_××参照)

'@戻り値@
'定数で指定した値

Private Declare Function GetWindowLong Lib "USER32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long

Const GWL_HINSTANCE = (-6)     'インスタンスハンドルを取得
Const GWL_HWNDPARENT = (-8)    '親ウインドウのハンドルを取得
Const GWL_ID = (-12)           'ウインドウのIDを取得
Const GWL_EXSTYLE = (-20)      '拡張ウインドウスタイルを取得
Const GWL_STYLE = (-16)        'ウインドウスタイルを取得
Const GWL_USERDATA = (-21)     'ユーザー定義の32ビット値を取得

Private Sub Command1_Click()


Call nGet(Form1.hWnd, GWL_HINSTANCE)
Call nGet(Form1.hWnd, GWL_HWNDPARENT)
Call nGet(Form1.hWnd, GWL_ID)
Call nGet(Form1.hWnd, GWL_EXSTYLE)
Call nGet(Form1.hWnd, GWL_STYLE)
Call nGet(Form1.hWnd, GWL_USERDATA)

End Sub


'-----------------------------------------
'■関数名  nGet
'■用途   ウインドウに関するデータを取得
'■引数
'      nhWnd:ウインドウのハンドル
'      Item:定数(GWL_××参照)
'-----------------------------------------

Private Sub nGet(nhWnd As Long, Item As String)

 Dim Ret As Long
    
  Ret = GetWindowLong(nhWnd, Item)

 'If Ret <> 0 Then
   
   Select Case Item
      
       Case GWL_HINSTANCE
            List1.AddItem "インスタンスハンドル" & vbTab & vbTab & Ret
       Case GWL_HWNDPARENT
            List1.AddItem "親ウインドウのハンドル" & vbTab & Ret
       Case GWL_ID
            List1.AddItem "ウインドウのID" & vbTab & vbTab & Ret
       Case GWL_EXSTYLE
            List1.AddItem "拡張ウインドウスタイル" & vbTab & Ret
       Case GWL_STYLE
            List1.AddItem "ウインドウスタイル" & vbTab & vbTab & Ret
       Case GWL_USERDATA
            List1.AddItem "ユーザー定義の32ビット値" & vbTab & Ret
                 
   End Select

' End If

End Sub

ソースコード一式のダウンロード

vbapi_getwindowlong.zip 1.11 KB (1,142 バイト)

このサンプルの動作環境について

このサンプルは 「Windows98」及び「Microsoft Visual Basic 5.0 Professional Edition」で確認しております。環境が異なる場合は正常に動作しない場合もございますのでご了承下さい。





関連記事



公開日:2015年03月06日
記事NO:00420