vb用sendmessage发送中文

已知要发的地方的句柄问第二个参数是用WM_char还是WM_settext还是别的什么?还有后面那俩参数怎么写?不要用复制哦,我要是找的到也不会来问。。不胜感激~wang... 已知要发的地方的句柄 问第二个参数是用WM_char 还是WM_settext还是别的什么?还有后面那俩参数怎么写?不要用复制哦,我要是找的到也不会来问。。不胜感激~
wangtk1982的答案为什么会有“dll调用约定错误”?
展开
 我来答
CKevin9
2011-02-16 · 超过33用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:0
展开全部
你要发送的目标是一个文本框么?是的话就用SETTEXT,wParam填0,lParam填你那个中文串的变量。
如果目标不是文本框,可能就要找其他的消息了。
另外,这类操作有的可以不用SendMessage的,比如SetWindowText API封装了一种发送SETTEXT message的情况。
wangtk1982
推荐于2018-04-04 · TA获得超过3742个赞
知道大有可为答主
回答量:3206
采纳率:100%
帮助的人:1453万
展开全部
使用WM_SETTEXT 消息 WM_char 是单个字符

Public Const WM_SETTEXT = 12
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any)

窗体中
Dim i As Long
Dim s As String
s = "你要输入的文字"
i = SendMessage(hwnd, WM_SETTEXT, 0, ByVal s)

另 楼上两位说直接使用SetWindowText 这个函数如果是本地进程可以使用
如过是其他进程则只能使用SendMessage

这个是MSDN原话
If the target window is owned by the current process, SetWindowText causes a WM_SETTEXT message to be sent to the specified window or control. If the control is a list box control created with the WS_CAPTION style, however, SetWindowText sets the text for the control, not for the list box entries.

To set the text of a control in another process, send the WM_SETTEXT message directly instead of calling SetWindowText.

==============================================
Declare Function SendMessage Lib "user32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
我把声明写错了 拉了点东西 呵呵
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
yxz0539
2011-02-16 · TA获得超过1597个赞
知道大有可为答主
回答量:1759
采纳率:0%
帮助的人:1766万
展开全部
顶楼上,建议用SetWindowText API函数
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式