如何获得QQ昵称文本输入框语柄

解决方案 »

  1.   

    你是要火星文吧?这里有:  http://www.52hxw.com/
      

  2.   

    Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
    Private Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As Long
    Private Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
    Private Declare Function GetNextWindow Lib "user32" Alias "GetWindow" (ByVal hwnd As Long, ByVal wFlag As Long) As Long
    Private Const GW_HWNDNEXT = 2
    Private Const WM_SETTEXT = &HCPrivate Sub Form_Load()
        Dim QQhWnd As Long, EditHwnd As Long
        Dim s As String
        Dim h As String
        QQhWnd = FindWindow("#32770", "QQ2008 设置") '查找设置窗口
        EditHwnd = FindWindowEx(QQhWnd, 0, "#32770", "QQ2008 设置")
        EditHwnd = FindWindowEx(EditHwnd, 0, "#32770", vbNullString)
        EditHwnd = FindWindowEx(EditHwnd, 0, "Tencent_QQToolBar", vbNullString)
        EditHwnd = GetNextWindow(EditHwnd, 2)
        EditHwnd = GetNextWindow(EditHwnd, 2)
        EditHwnd = GetNextWindow(EditHwnd, 2)
        EditHwnd = GetNextWindow(EditHwnd, 2)
        EditHwnd = GetNextWindow(EditHwnd, 2)
        EditHwnd = GetNextWindow(EditHwnd, 2)
        s = Trim$("十三少") & Chr$(0)
        h = SendMessage(EditHwnd, WM_SETTEXT, 0, ByVal s)
        End
    End Sub