吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 5869|回复: 14
收起左侧

[C&C++ 转载] PostMessage函数发送中文字符乱码

[复制链接]
Toring 发表于 2017-4-15 21:43
本帖最后由 Toring 于 2017-4-16 15:43 编辑

今天使用PostMessage函数向指定窗口发送字符信息,发现中文字符乱码,英文字符没有问题,怎么解决?

已解决,答案见11楼

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

qaz003 发表于 2017-4-16 15:31
本帖最后由 qaz003 于 2017-4-16 15:33 编辑
Toring 发表于 2017-4-16 15:24
记事本也是这个问题,并且我认为PostMessage是向目标窗口发送信息,并没有向输入法发送信息,它与keybd_e ...

“并且我认为PostMessage是向目标窗口发送信息,并没有向输入法发送信息”
哥,你这么说吓到我了。。。口气要坚决些,铁定的事实不是认为不认为的问题

好多年前曾经试过玩一个E文游戏,估计是自绘的聊天框,打开中文输入法状态下Post的话就跟你一样问题,关掉输入法屁事没有。。(当时为了一边追着砍人一边后台喷人家,所以玩了一下这个)
 楼主| Toring 发表于 2017-4-16 15:41
[C++] 纯文本查看 复制代码
WCHAR str[] = L"这是一句话,Hello PostMessage!";
	for (int i = 0; i<lstrlen(str); i++)
	{
		//WM_CHAR 不打开输入法
		::PostMessage(hWnd, WM_CHAR, str[i], 0);
	}

这个问题已解决,注意需要用Unicode类型字符,并且第二参数用WM_CHAR不要用WM_IME_CHAR,这样发送就不会乱码了。看雪上看到一个老帖说是WM_CHAR是不开启输入法直接发送,WM_IME_CHAR是开启输入法输入。
PHS 发表于 2017-4-15 22:46
表示不懂PostMessage   你可以用域名邮箱 (搜狐邮箱也不错哦) 或者 其他平台的语音发送   

点评

这位兄台果真一语惊人哇~~  发表于 2017-4-15 23:51
dice1412 发表于 2017-4-15 23:52
楼主说的是易语言吧 应该是编码的问题
qaz003 发表于 2017-4-15 23:53
有没试试不用post 用 send看看是不是也乱码?
 楼主| Toring 发表于 2017-4-16 10:31
qaz003 发表于 2017-4-15 23:53
有没试试不用post 用 send看看是不是也乱码?

send也乱码
 楼主| Toring 发表于 2017-4-16 10:32
dice1412 发表于 2017-4-15 23:52
楼主说的是易语言吧 应该是编码的问题

不是,C语言。Windows API函数啊
qaz003 发表于 2017-4-16 15:13

目标是游戏还是普通的程序?或者在目标程序焦点下打开中文输入法或关闭输入法之后再试。。

有没有试试记事本能不能正常??

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
Toring + 1 + 1 谢谢@Thanks!

查看全部评分

 楼主| Toring 发表于 2017-4-16 15:24
qaz003 发表于 2017-4-16 15:13
目标是游戏还是普通的程序?或者在目标程序焦点下打开中文输入法或关闭输入法之后再试。。

有没有试试 ...

记事本也是这个问题,并且我认为PostMessage是向目标窗口发送信息,并没有向输入法发送信息,它与keybd_event不同,所以这跟输入法无关,估计是发送消息格式的问题,但是我不知道怎么改
 楼主| Toring 发表于 2017-4-16 15:37
qaz003 发表于 2017-4-16 15:31
“并且我认为PostMessage是向目标窗口发送信息,并没有向输入法发送信息”
哥,你这么说吓到我了。。。 ...

这个问题我找到怎么回事了,我下边统一回复下,谢谢解答

点评

用心交流,共获提升~~赞一个  发表于 2017-4-16 15:40

免费评分

参与人数 1热心值 +1 收起 理由
qaz003 + 1 用心讨论,共获提升!

查看全部评分

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-27 04:02

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表