| C#的Sendkeys方法,可以实现将一个或多个按键消息发送到活动窗口,就如同在键盘上进行输入一样。但是在使用过程中发现,输入汉字的时候经常出现发漏或者发不了的情况。后来经过研究,发现可以通过更加底层的方法,通过引用user32.dll,实现更加底层的模拟键盘输入。 有了这个想法,为了实现汉子的输入,思路是: 1、封装KeyBoard类,通过引用User32.dll实现单个字母的输入; 2、为解决输入汉字的问题,通过迂回的方法,把汉字复制到系统的剪贴板,然后模拟键盘输入Crtl+V的方式,把剪贴板中的中文汉字复制到要输入的地方。   关键代码如下:  //按下crtl+v,起到黏贴的作用public static void Paste(string contents)
 {
 Tools.SetClipBoard(contents);
 KeyBoard.keybd_event(17, 0, 0, 0);
 KeyBoard.keybd_event(86, 0, 0, 0);
 KeyBoard.keybd_event(17, 0, 2, 0);
 KeyBoard.keybd_event(86, 0, 2, 0);
 }
   PS:第一次用博客园,不知道怎么样把代码上传,先这样试试。如果有具体需要拿全部实现代码,可以留言给我。 |