GetClassLong

機能
クラス構造体から指定の項目の32ビット値取得
Declare Function GetClassLong Lib "user32.dll" Alias "GetClassLongA" _
(ByVal hWnd As Long, ByVal nIndex As Long) As Long
Declare Function GetClassInteger Lib "user32.dll" Alias "GetClassIntegerA" _
(ByVal hWnd As Integer, ByVal nIndex As Integer) As Integer

DWORD GetClassLong(
HWND hWnd,
int nIndex
);
引数
hWnd

取得対象のウィンドウのハンドル
nIndex
取得する項目を示す定数
戻り値
正常終了のとき  nIndexで指定した項目の32ビット値
エラーのとき  0
nIndexの定数

GCL_CBCLSEXtrA = (-20)             エキストラクラスデータのバイト数
GCL_CBWNDEXtrA = (-18)             エキストラウィンドウデータのバイト数
GCL_HBRBACKGROUND = (-10)          クラスの背景ブラシのハンドル
GCL_HCURSOR = (-12)                クラスカーソルのハンドル
GCL_HICON = (-14)                  クラスアイコンのハンドル
GCL_HICONSM = (-34)                小さなクラスアイコンのハンドル
GCL_HMODULE = (-16)                モジュールのインスタンスハンドル
GCL_MENUNAME = (-8)                クラスメニュー名へのポインタ
GCL_STYLE = (-26)                  ウィンドウクラススタイル
GCL_WNDPROC = (-24)                ウィンドウ関数へのポインタ
GCL_ATOM = (-32)                   ウィンドウクラスを示す整数アトム
サンプル
ダウンロード(GetClassLong.lzh 1.63KB)

Private Sub Form_Load()
'Formのデータを取得する
With Me.List1
    .AddItem Hex(GetClassLong(Me.hWnd, GCL_CBCLSEXTRA))
    .AddItem Hex(GetClassLong(Me.hWnd, GCL_CBWNDEXTRA))
    .AddItem Hex(GetClassLong(Me.hWnd, GCL_HBRBACKGROUND))
    .AddItem Hex(GetClassLong(Me.hWnd, GCL_HCURSOR))
    .AddItem Hex(GetClassLong(Me.hWnd, GCL_HICON))
    .AddItem Hex(GetClassLong(Me.hWnd, GCL_HICONSM))
    .AddItem Hex(GetClassLong(Me.hWnd, GCL_HMODULE))
    .AddItem Hex(GetClassLong(Me.hWnd, GCL_MENUNAME))
    .AddItem Hex(GetClassLong(Me.hWnd, GCL_STYLE))
    .AddItem Hex(GetClassLong(Me.hWnd, GCL_WNDPROC))
    .AddItem Hex(GetClassLong(Me.hWnd, GCL_ATOM))
End With
End Sub