タイトル | : GetClassNameで困ってます。 |
記事No | : 16058 |
投稿日 | : 2015/01/13(Tue) 09:03 |
投稿者 | : 田村 |
はじめまして。
GetClassNameでクラス名を取得すると右端の1文字欠けませんか? 右端の一番大事な数字が欠けてしまいます。 同じコントロールがあるとユニークなワードとして識別できません。
欠けない方法知っておられる方教えてください。
テキストボックス2つおいて下記のコードを実行すると、ThunderTextBoxとしか表示されません。 でも他のビューアなどで見ると、コントロールが複数ある場合はThunderTextBox1,ThunderTextBox2・・・となるようです。 ちなみに.netで試してみても同じようになりました。
Private Sub Command1_Click() Dim nName As String Dim nLeng As Long Dim Ret As Long
'バッファを確保 nName = String(250, Chr(0)) nLeng = Len(nName)
Ret = GetClassName(Text2.hwnd, nName, nLeng) Text1.Text = nLeng MsgBox Left(nName, InStr(nName, vbNullChar) - 1) End Sub
'標準モジュール Public Declare Function GetClassName Lib "user32" Alias "GetClassNameA" (ByVal hwnd As Long, ByVal lpClassName As String, ByVal nMaxCount As Long) As Long
|