タイトル : GetClassNameで困ってます。 投稿日 : 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 |