读书人

SendMessage a2, EM_REPLACESEL, 0, B

发布时间: 2012-02-02 23:57:14 作者: rapoo

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

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

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

[解决办法]

VB code
Option ExplicitPrivate Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal Hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As LongPrivate Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As LongPrivate Declare Function FindWindowEx Lib "user32" Alias "FindWindowExA" (ByVal hWnd1 As Long, ByVal hWnd2 As Long, ByVal lpsz1 As String, ByVal lpsz2 As String) As LongPrivate Const EM_REPLACESEL = &HC2Private Const WM_SETTEXT = &HCDim 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 + 1SendMessage ChildHwnd, WM_SETTEXT, 0, ByVal "你好,内容!" & i    '为什么你都已经申明了wm_settext ,却没用?End Sub'用EM_REPLACESEL可以追加字符Private Sub Form_Load()Shell "notepad.exe", vbNormalFocusNotepadHwnd = FindWindow("notepad", vbNullString)'得到窗口类名为Edit的窗口句柄ChildHwnd = FindWindowEx(NotepadHwnd, 0, "Edit", vbNullString)End Sub 

读书人网 >VB

热点推荐