假如你想做一个模拟键盘对当前的Active进程进行输入,该怎么办呢?

今天就介绍一个如何利用C#实现编程法模拟键盘输入


今天我们使用的是System.Windows.Forms.dll中的SendKeys 这个类

这是一个静态类,主要有两个方法Send表示发送后立刻返回,SendWait表示发送后等待其他应用程序处理

最简单的,对于基本字符,我们直接发送对应字符即可

比如你想模拟键盘输入A,只要写

SendKeys.Send("A");

比如你想模拟键盘输入多个字符,比如HTX,只要写

SendKeys.Send("HTX");

那我要输入一些特殊字符,比如回车(enter),退格(backspace)怎么办呢

没关系,我们可以使用{}作为转义符号,“照样输”就可以

//输入回车
SendKeys.Send("{ENTER}");
//输入退格
SendKeys.Send("{BACKSPACE}");
//输入F1
SendKeys.Send("{F1}");
//输入+
SendKeys.Send("{+}");

我们注意到上一个例子中+也需要被转义后才能输出

因为像+,^,%,也是转义符,分别表示shift,ctrl,alt

所以如果你想要输入Alt+F4,就可以写

SendKeys.Send("%{F4}");

温馨提示:如果你想要跑上面的例子,请确保所有工作都已保存

参考链接:


本文会经常更新,请阅读原文: https://xinyuehtx.github.io/post/%E4%BD%BF%E7%94%A8C-%E6%A8%A1%E6%8B%9F%E9%94%AE%E7%9B%98%E8%BE%93%E5%85%A5.html ,以避免陈旧错误知识的误导,同时有更好的阅读体验。

知识共享许可协议 本作品采用 知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议 进行许可。欢迎转载、使用、重新发布,但务必保留文章署名黄腾霄(包含链接: https://xinyuehtx.github.io ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系