我这里有个已获得焦点,但不知道句柄的程序我想用SendMessage发送文本信息,
怎么实现, 非得获取文本框的句柄吗?

解决方案 »

  1.   

    靠,竟然用sendMessage发送文本信息,我服了你了
      

  2.   

    : cindytsai(笨笨的蔡鸟) (谢谢你啊 但这个看过的 我想问 那个文本框活得焦点 只是获得焦点 没法得要他的句柄
    有没有可能把 STRING 传过去!
      

  3.   

    如果用sendMessage,没有hWnd,当然不可能。
      

  4.   

    其他方法不一定有,要看你的具体目的是什么?那已获得焦点的东西是什么?是没法获得hWnd,还是根本就没有hWnd?若是前者,首先还是应想法获得hWnd,若是后者,可能性就极小了!
      

  5.   

    Findwindow 找到哪个程序的hwnd
    FindWindowEx找到文本框的hwnd
    然后再SendMessage
      

  6.   


    Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongOption Explicit
    Private Const WM_SETTEXT = &HC
    Private Const BM_CLICK = &HF5
    Dim QQHwnd As Long, QHwnd As Long, PHwnd As Long, RHwnd As Long
    Do While RHwnd = 0
    QQHwnd = FindWindow("#32770", vbNullString)
    QHwnd = FindWindowEx(QQHwnd, 0, "ComboBox", vbNullString)
    PHwnd = FindWindowEx(QQHwnd, 0, "Edit", vbNullString)
    'Debug.Print PHwnd
    RHwnd = FindWindowEx(QQHwnd, 0, "Button", "登录")
    DoEvents
    Loop
    SendMessage QHwnd, WM_SETTEXT, 0, ByVal Text1.Text  'text1内为QQ号码.
    原理类似