假如你想做一个模拟键盘对当前的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 ),不得用于商业目的,基于本文修改后的作品务必以相同的许可发布。如有任何疑问,请 与我联系 。