已知另一程序某文本框句柄,如何发送消息让它自动选择文本框内容后5位字符?

解决方案 »

  1.   

    可以,使用PostMessage函数发送消息给它,触发某一事件,在该事件中设置选择即可。
      

  2.   


    这几天CSDN的快男,就是你老兄了!恭喜恭喜!
      

  3.   

    Option Explicit
    Private Const EM_SETSEL As Long = &HB1
    Private Const WM_GETTEXTLENGTH As Long = &HEPrivate Declare Function SendMessage Lib "user32.dll" Alias "SendMessageA" ( _
            ByVal hwnd As Long, _
            ByVal wMsg As Long, _
            ByVal wParam As Long, _
            ByRef lParam As Any _
            ) As LongFunction SelectTrailText(ByVal hWndTarget As Long)
        Dim lLength     As Long
        Dim lStart      As Long
        Dim lEnd        As Long
        
        lLength = SendMessage(hWndTarget, WM_GETTEXTLENGTH, 0&, ByVal 0&)
        If lLength <= 5 Then
            lStart = 0
            lEnd = -1
        Else
            lStart = lLength - 5
            lEnd = lLength
        End If
        SendMessage hWndTarget, EM_SETSEL, lStart, lEnd
    End Function
      

  4.   

    非常感谢各位!Tiger_Zhao,是正解。