社区
C++ 语言
帖子详情
PostMessage,WM_CHAR如何发送汉字?
isaced
2012-01-23 01:47:51
PostMessage,WM_CHAR如何发送汉字?
...全文
920
6
打赏
收藏
PostMessage,WM_CHAR如何发送汉字?
PostMessage,WM_CHAR如何发送汉字?
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
6 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
liyoubaidu
2012-01-23
打赏
举报
回复
[Quote=引用 2 楼 lactoferrin 的回复:]
PostMessageW(hWnd,WM_CHAR,L'操',1);
[/Quote]
1
Lactoferrin
2012-01-23
打赏
举报
回复
windows里面汉字编码一般用gbk或者utf16
如果是gbk,那么需要发两次,先发高位再发低位,如果用unicode,一次发完
chouxiaoya8100
2012-01-23
打赏
举报
回复
HWND hWnd=::GetDlgItem(this->GetSafeHwnd(),IDC_EDIT1);
WPARAM wP=(WPARAM)(_T('好'));
::PostMessage(hWnd,WM_CHAR,wP,0);
做了个小试验, 文本框接收到 的汉字是:煤
不是好
原因 肯定是编码的问题。。。。
CEidt::OnChar 每次处理一个字符, 而PostMessage发送了 好的 十六进制的部分给文本框
所以没哟正确显示!!1
Lactoferrin
2012-01-23
打赏
举报
回复
PostMessageW(hWnd,WM_CHAR,L'操',1);
qualcode
2012-01-23
打赏
举报
回复
PostMessage(hWnd,WM_CHAR,'a',NULL);
2016001
WM
_
CHAR
消息,中文乱码问题的解决方案
实例: A程序需要向外部B程序发文本消息, B程序是外部已存在的,无法修改. 测试
发送
WM
_
CHAR
消息,英文和数字都能成功, 但是
发送
中文就是很奇怪的乱码. 原因: 如果字符是
汉字
(或其它文字如韩文,日文等等),则该字符对应的虚拟键盘码高位不为0,这样得到的字符就是不正确的。 解决方案: 要
发送
的字符和 0xFF 做与操作即可. 示例代码: CStr
使用
WM
_PASTE 和
WM
_
CHAR
消息时中文乱码总结
当我们需要设置编辑框显示文本的时候,如果其它方式无法实现,可以试试
WM
_PASTE 和
WM
_
CHAR
。 但使用这两种消息很容易出现中文乱码的情况,这一般是编码问题。 1,中文应采用UNICODE编码。 2,
WM
_PASTE关键点在于粘贴板数据的设置: 1,SetClipboardData 的数据格式应该设置为 CF_UNICODETEXT
API函数
postmessage
初探
Postmessage
函数 Fuction: 该函数将一个消息放入(寄送)到与指定窗口创建的线程相联系消息队列里,不等待线程处理消息就返回,是异步消息模式。 Syntax: B00L
PostMessage
( HWND hWnd, UINT Msg, WPARAM wParam, LPARAM lParam); Parameters
PostMessage
发送
文字信息
发送
文字信息CWnd *pWnd=CWnd::FindWindow(NULL,"标题"); //发往指定窗口的名称
char
* szInfo="000";if(pWnd){ pWnd ->
PostMessage
(
WM
_ADDUSER,
WM
_SETTEXT,(long)szInfo); } 接收信息CString szUser=""; if (
WM
_SETTEXT
使用SendMessage
发送
汉字
!
向指定窗口
发送
汉字
m_Message CString类型 用来保存
汉字
hwndSelect HWND类型 用来保存接收
汉字
的窗口句柄
char
ch;
for(int i=0;i
{
ch=m_Message.GetAt(i);
::
PostMessage
(hwndSelected,
WM
_
CHAR
,ch&0x00F
C++ 语言
64,648
社区成员
250,503
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章