C#SendKeys.SendWait()并不总是有效
作者:互联网
我正在尝试创建一个将密钥发送到外部应用程序的应用程序,在本例中为aerofly FS.我之前使用过SendKeys.SendWait()方法,但这一次,它并没有像我想要的那样工作.我想给应用程序发送一个“G”按键并用记事本测试它我得到G的.但是在空中FS中根本没有收到任何东西.按键盘上的G确实有效.
这是我的代码处理输入数据(来自Arduino)和发送击键,
private void handleData(string curData)
{
if (curData == "1")
SendKeys.SendWait("G");
else
{ }
}
解决方法:
我也遇到过SendKeys不能为我工作的外部应用程序.
我可以说,一些应用程序,如浏览器中的applet,希望接收密钥,然后暂停,然后是密钥,我认为不能用SendKeys完成.
我一直在使用AutoIt库的C#包装器,发现它很容易使用.
这是我为integrating AutoIt into a C# project写的快速指南的链接.
获得包装器和引用后,可以使用以下命令发送“G”:
private void pressG()
{
AutoItX3Declarations.AU3_Send("{g}");
}
或暂停,
private void pressG()
{
AutoItX3Declarations.AU3_Send("{g down}", 0);
AutoItX3Declarations.AU3_Sleep( 50 ); //wait 50 milliseconds
AutoItX3Declarations.AU3_Send("{g up}", 0);
}
AutoIt还允许您以编程方式控制鼠标.
标签:c,sendkeys 来源: https://codeday.me/bug/20190703/1369416.html