SendMessage a2, EM_REPLACESEL, 0, ByVal 值解决思路

SendMessage a2, EM_REPLACESEL, 0, ByVal 值
我想在另外应用程序上自动发送消息,发送前能先清除另外程序上文本框的值吗?

SendMessage a2, EM_REPLACESEL, 0, ByVal ttt '向该句柄(文本框)发送 ttt的值

这句语句在发送前,能不能先清除,不清除总是累加上去了,郁闷啊!

------解决方案--------------------
VB code

Option Explicit

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 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 Const EM_REPLACESEL = &HC2
Private Const WM_SETTEXT = &HC
Dim ChildHwnd As Long       '记事本文本框的句柄
Dim NotepadHwnd As Long        '记事本的句柄
Dim i As Long

'改变记事本的标题

Private Sub Command1_Click()
' SendMessage(句柄, 消息, 0, ByVal 标题)
'Call SendMessage(NotepadHwnd, WM_SETTEXT, 0, ByVal "你好,标题!")
End Sub

'可把字符加到文件未尾
Private Sub Command2_Click()
i = i + 1
SendMessage ChildHwnd, WM_SETTEXT, 0, ByVal "你好,内容!" & i    '为什么你都已经申明了wm_settext ,却没用?
End Sub

'用EM_REPLACESEL可以追加字符

Private Sub Form_Load()
Shell "notepad.exe", vbNormalFocus

NotepadHwnd = FindWindow("notepad", vbNullString)
'得到窗口类名为Edit的窗口句柄
ChildHwnd = FindWindowEx(NotepadHwnd, 0, "Edit", vbNullString)
End Sub