c#中SendKeys.Send 如何输入汉字

pengxuan 2010-09-14 04:37:14
输入法如果打开的话用SendKeys.Send("程序员大本营")就输入乱七八糟
在用的过程中发现用SendKeys.Send输入的非常快,我发现另外一款别人的软件在实现输入的时候是一个字符一个字符输进去的,跟输入法无关,不管是英文、数字、汉字,也不管输入法是否打开都可以,不知道是怎么实现的
在论坛上找到下面这样一个帖子
http://topic.csdn.net/u/20090121/16/fdb85822-9d4d-47e2-8662-75b08d968bb0.html
...全文
683 11 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
11 条回复
切换为时间正序
请发表友善的回复…
发表回复
gongsun 2010-09-15
  • 打赏
  • 举报
回复
龍月 2010-09-15
  • 打赏
  • 举报
回复
我是想用于在一个输入框中模拟输入中文,我发现如果这样输入就没问题:
System.Windows.Forms.SendKeys.Send( "1李大嘴 ");

就是输入内容前面是个键盘字母或数字,所以我改为:
System.Windows.Forms.SendKeys.Send( "{LEFT} " + "李大嘴 ");
widiandian 2010-09-15
  • 打赏
  • 举报
回复
关注一下
smallMage 2010-09-15
  • 打赏
  • 举报
回复
发送
buf=System.Text.ASCIIEncoding.Default.GetBytes("中文字符串");
SendKeys.Send(buf)
pengxuan 2010-09-15
  • 打赏
  • 举报
回复
接收方是别人的程序,所以我不能在接收方处理字符串
smallMage 2010-09-15
  • 打赏
  • 举报
回复
接受的时候也使用
String tmp = ASCIIEncoding.ASCII.GetString(buf, 0, size);
smallMage 2010-09-15
  • 打赏
  • 举报
回复

buf=System.Text.ASCIIEncoding.Default.GetBytes("中文字符串");
SendKeys.Send(buf)
pengxuan 2010-09-15
  • 打赏
  • 举报
回复
在网上搜了半天,有另外一种方法实现效果更好,但是都是C++,VC的,我转成C#后都不能完成功能,哪位朋友帮忙看看
C++
http://blog.csdn.net/benny5609/archive/2007/09/25/1799412.aspx
VC
http://blog.sina.com.cn/s/blog_561c033c0100ivgf.html
wuyq11 2010-09-14
  • 打赏
  • 举报
回复
SendMessage WM_IME
ImmSetCompositionString
边城的刀声 2010-09-14
  • 打赏
  • 举报
回复
不懂~~~~~关注
porschev 2010-09-14
  • 打赏
  • 举报
回复
up.........

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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