SendKeys.Send()输入中文
SendKeys有两个方法,分别为Send()和SendWait(),作用是模拟键盘输入。因为是模拟键盘输入,所以输入的字符只能是键盘上的按键,结果就是不能输入中文。
这样一来,是不是就不能输入中文了呢?让我们换一个思路:不让直接输入,复制、粘贴总可以吧。
来看看复制、粘贴的过程:先把内容复制到(系统的)剪贴板,再从剪贴板复制出来。
根据这一原理,编码的思路就清晰了:
- 对剪贴板进行操作,把字符串复制到剪贴板(比发送“CTRL+C”方便)
- 焦点定位到输入框
- 发送“CTRL+V”
上面3部涉及到的具体代码都可以在网上找到,所以这个思路是可行的。
下面贴一段C#的代码作为例子
#region ^c+^v实现中文的输入
string s=”hello, 我是中文字符串”;
Clipboard.SetText(s); // 将字符串复制到剪贴板,相当于^c
textBox1.Focus(); // 定位焦点
SendKeys.SendWait("^v"); // CTRL+V,粘贴
#end region
怎么样,很简单吧