| | タイトル | : 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
 
 |