如何向可编辑控件中加入字符串的问题

auroraiel 2003-09-05 02:07:33
我做了一个钩子,用来实现向一个可编辑控件(如记事本、写字板、Word等)中加入一些字符串。
我现在两种实现方法:1、循环发送字符消息SendMessage(hWnd,WM_CHAR,'A',1);
2、先将要发送的字符串复制到剪贴板中,再发送粘贴消息SendMessage(hWnd,WM_PASTE,0,0);.
但两种方法都遇到了一些问题:用方法1只能输入英文或数字,不能输入中文内容,而且在Word编缉器中本输入一个字符却变成了4个;用方法2对Word编辑器无效,好像是Word不支持WM_PASTE消息。
以上问题急需解决,请各位高手帮忙,如分不够可以再加。
...全文
30 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
auroraiel 2003-12-04
  • 打赏
  • 举报
回复
我原先的方法可以,是钩子的问题,现在解决了.谢谢各位的热心帮助.
auroraiel 2003-09-14
  • 打赏
  • 举报
回复
WM_CHAR可以发送中文字符的,例如:
char chTest[5] = "提问";

for( int i=0;i<2;i++ )
{
USHORT wParam = *(USHORT *)(chTest+2*i);
::SendMessage(hWnd,WM_CHAR,wParam,1);
}
这种方法在WORD中会出现4个"提问"。
fxniao 2003-09-05
  • 打赏
  • 举报
回复
先发送到字符数组中去,然后SetWindowText
whoishere 2003-09-05
  • 打赏
  • 举报
回复
WM_CHAR可以发送中文字符的,例如:
char chTest[5] = "提问";

for( int i=0;i<2;i++ )
{
USHORT wParam = *(USHORT *)(chTest+2*i);
::SendMessage(hWnd,WM_CHAR,wParam,1);
}

15,471

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 进程/线程/DLL
社区管理员
  • 进程/线程/DLL社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧