GetClassInfoEx

機能
クラス名からWNDCLASSEX構造体のデータ取得
Declare Function GetClassInfoEx Lib "user32.dll" Alias "GetClassInfoExA" _
(ByVal hinst As Long, ByVal lpszClass As String, lpwcx as WNDCLASSEX) As Long
Declare Function GetClassInfoEx Lib "user32.dll" Alias "GetClassInfoExA" _
(ByVal hinst As Integer, ByVal lpszClass As String, lpwcx as WNDCLASSEX) As Integer

BOOL GetClassInfoEx(
HINSTANCE hinst,
LPCTSTR lpszClass,
LPWNDCLASSEX lpwcx
);
引数
hinst

クラスを作成したアプリケーションのインスタンスハンドル
ボタンやラベルなどのWindows標準のウィンドウクラスの情報を取得するときは0
lpszClass
検索するクラス名
lpwcxs
(戻り値)データを受け取るWNDCLASSEX構造体
戻り値
正常終了のとき   0以外
エラーのとき   0
サンプル
ダウンロード(GetClassInfoEx.lzh 1.79KB)

Private Sub Form_Load()
Dim rc As Long, lpwcx As WNDCLASSEX, lpszClassName As String
'構造体のサイズ設定
lpwcx.cbSize = Len(lpwcx)
'調べるクラス名を指定(VBのフォーム)
lpszClassName = "ThunderForm"
'取得
Call GetClassInfoEx(App.hInstance, lpszClass, lpwcx)
With List1
    .AddItem "cbSize" + Str(lpwcx.cbSize)
    .AddItem "style" + Str(lpwcx.style)
    .AddItem "lpfnWndProc" + Chr(32) + Hex(lpwcx.lpfnWndProc)
    .AddItem "cbClsextra" + Str(lpwcx.cbClsExtra)
    .AddItem "cbWndExtra" + Str(lpwcx.cbWndExtra)
    .AddItem "hInstance" + Chr(32) + Hex(lpwcx.hInstance)
    .AddItem "hIcon" + Chr(32) + Hex(lpwcx.hIcon)
    .AddItem "hCursor" + Chr(32) + Hex(lpwcx.hCursor)
    .AddItem "hbrBackground" + Chr(32) + Hex(lpwcx.hbrBackground)
    .AddItem "lpszMenuName" + Chr(32) + GetStringBuff(lpwcx.lpszMenuName)
    .AddItem "lpszClassName" + Chr(32) + GetStringBuff(lpwcx.lpszClassName)
    .AddItem "hIconSm" + Chr(32) + Hex(lpwcx.hIconSm)
End With
End Sub

Private Function GetStringBuff(ByVal StrBuff As String) As String Dim Temp As String Temp = StrBuff a = InStr(Temp, Chr(0)) If a > 1 Then Temp = Mid(Temp, 1, a - 1) Else Temp = "" End If GetStringBuff = Temp End Function