VB Postmessage发送字符串问题

来源:百度知道 编辑:UC知道 时间:2024/06/29 22:45:34
我想向记事本中发送一段话. 比如"大家好呀!" 但是我发送不成功,发送回车什么的都行. 望得到帮助.谢谢.
我一定要用postmessage ; sendkeys不能后台的.麻烦各位了.

VB SendMessage发送字符串

Global Const WM_SETTEXT = &HC
Declare Function SendMessageByString& Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, ByVal lParam As String)

Dim a As String
a = "大家好呀!"
'一定要用SendMessageByString
SendMessageByString& Text1.hwnd, WM_SETTEXT, 0, a

由于 postmessage 的处理机制
postmessage 向文本框发送 WM_SETTEXT 是成功不了的

PostMessage
功能:将一个消息放入(寄送)到与指定窗口创建的线程相联系消息队列里,不等待线程处理消息就返回。
消息队列里的消息通过调用GetMessage和PeekMessage取得。

所以你用PostMessage 向记事本程序中 文本框的句柄 发送 WM_SETTEXT以后,这个WM_SETTEXT消息
应该保存在记事本程序文本框自己的消息队列中 ,文本框自己的消息队列是否存在?
将 WM_SETTEXT 传递给 主窗口句柄,自然就不会有结果了。

SendKeys "大家好呀!"