Declare Auto Function SendMessage Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal msg As Integer, ByVal wParam As IntPtr, ByVal lParam As IntPtr) As IntPtr
Private Declare Function SendMessage2 Lib "user32" Alias "SendMessageA" (ByVal hwnd As IntPtr, ByVal wMsg As IntPtr, ByVal wParam As IntPtr, ByVal lParam As String) As Integer
Private Const WM_SETTEXT As Integer = &HC
Private Const WM_KEYDOWN As Integer = &H100
Private Const WM_KEYUP As Integer = &H101
Private Const vbKeyReturn As Integer = 13
'每5秒在指定的文本框里输入 5 然后 回车
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
SendMessage(hWnd WM_KEYDOWN, vbKeyReturn, 0L)
SendMessage(hWnd, WM_KEYUP, vbKeyReturn, 0L)
SendMessage2(hWnd WM_SETTEXT, 0, "5")
End Sub
------解决思路----------------------
一般的建议都是不要用SendMessage模拟键盘操作,因为键盘的实际事件很复杂,用这个很可能和正常情况不一样。可以用SendKeys.Send方法,比如回车:
SendKeys.Send("{ENTER}");
------解决思路----------------------
SendTextMessage(Codebox, 0xC, 0, textBox1.Text);//发送文本
PostMessage(Codebox, 0x0100, (int)Keys.Enter, 0);//发送回车
用这句话试试,其中Codebox是你要发送的文本框的句柄,keys.enter你可以用键值来代替,这应该可以的,但是前提是你要有那个文本框的焦点,这个很复杂,如果你需要的话再说把