クラス名から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
クラスを作成したアプリケーションのインスタンスハンドルlpszClass
ボタンやラベルなどのWindows標準のウィンドウクラスの情報を取得するときは0
検索するクラス名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