我开发了一个与我的网站一起工作的应用程序,使用
SendKeys.send("{ENTER}")在我的一个表单上提交信息。
有没有办法阻止它在应用程序之外运行?
例如,我试图在后台运行程序,当我浏览我的facebook或在google上时,它随机地一直按enter键。
任何帮助都非常感谢,感谢您的时间。
发布于 2014-01-20 02:35:46
简短的答案是查看进程和check the titles可用的窗口,看看它是否是您想要的页面。
If System.Diagnostics.Process.GetProcessesByName("firefox").MainWindowTitle = 'My Page Title'
...
End If也就是说,有更好的方法可以做到这一点--如果你在用火狐,看看GreaseMonkey,如果你用的是Chrome,那就看看TamperMonkey。
两者都允许您将自定义javascript注入到其url与您选择的模式匹配的任何页面中。实际上,您可以在页面加载30秒后编写一些Javascript到submit a form (比方说)。
如果选择了不同的选项卡,这将具有工作的好处,并且不需要整个应用程序。
发布于 2014-01-20 02:36:56
SendKeys.Send方法将不加区别地将击键发送到活动的应用程序。没有办法使用此API来针对特定的应用程序。
您可以更改您的应用程序,以尝试并验证活动应用程序是否也是您想要发送密钥的应用程序。然而,这注定是一个不稳定的过程。无论你的验证有多好,在你的验证完成后,活动的应用程序总是有可能被切换到另一个应用程序。
If VerifyActiveAppIsTarget() Then
SendKeys.Send("{Enter}") ' Active app could change before this runs我会尝试一个不同的解决方案来在我的应用程序之间发送数据
https://stackoverflow.com/questions/21220844
复制相似问题