如何发送键+ A + B键? (保持控制修改器“按下”)
当我记录这个序列时,它失败了。 我知道我可以使用Keyboard.SendKeys(控件,“A”,ModifierKeys.Control)发送Control + A,但是如何在按下一个字母之前发送一个包含控件并释放该字母的序列。
注意:我正在寻找的序列类似于用于注释掉Control + K + C行的默认Visual Studio快捷方式
这可能是我需要使用WinApi的东西吗?
keybd_event
非常方便(比“替换” SendInput
更容易使用)。
keybd_event(Keys.Control, MapVirtualKey(Keys.Control, 0), 0, 0); keybd_event(Keys.A, MapVirtualKey(Keys.A, 0), 0, 0); keybd_event(Keys.A, MapVirtualKey(Keys.A, 0), KEYEVENTF_KEYUP, 0); keybd_event(Keys.B, MapVirtualKey(Keys.B, 0), 0, 0); keybd_event(Keys.B, MapVirtualKey(Keys.B, 0), KEYEVENTF_KEYUP, 0); keybd_event(Keys.Control, MapVirtualKey(Keys.Control, 0), KEYEVENTF_KEYUP, 0);
如果您只需要按住control,alt和/或shift,请检查TCS对SendKeys.Send
的回答 。 keybd_event
function更强大,可让您按住任意键,并以任何顺序释放。
根据我对SendKeys.Send文档的理解,它将是:
SendKeys.Send("^(KC)")
以下内容可在备注中找到:
要指定在按下其他几个键时按住SHIFT,CTRL和ALT的任意组合,请将这些键的代码括在括号中。 例如,要指定在按下E和C时按住SHIFT,请使用“+(EC)”。 要指定在按下E时按住SHIFT,然后按C而不按SHIFT,请使用“+ EC”。
如何使用
Keyboard.SendKeys(control, "A",ModifierKeys.Control); Keyboard.SendKeys(control, "B",ModifierKeys.Control);
?
这对我有用:
Keyboard.SendKeys("^(AB)");
只需使用以下代码:
上述就是C#学习教程:如何发送键+ A + B键? (保持控制修改器“按下”)分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!
Keyboard.SendKeys("^AB");
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/cdevelopment/960812.html