您已经开发了一个可以使用
与我的网站配合使用的应用程序SendKeys.send(“{ENTER}”)在我的某个表单上提交信息。
有没有办法阻止它在应用程序之外运行?
例如我试图在后台运行该程序,当我浏览我的脸书或谷歌时它会随机点击输入。
感谢您的时间,非常感谢任何帮助。
答案 0 :(得分:1)
简短的回答是查看流程可用的窗口,check the titles查看是否是您想要的页面。
If System.Diagnostics.Process.GetProcessesByName("firefox").MainWindowTitle = 'My Page Title'
...
End If
也就是说,有更好的方法可以做到这一点 - 如果您使用的是Firefox,请查看GreaseMonkey,如果是在Chrome中,请查看TamperMonkey。
两者都允许您将自定义javascript注入其网址与您选择的模式匹配的任何网页。实际上,您可以在页面加载后30秒将一些Javascript写入submit a form(例如)。
如果选择了不同的选项卡以及不需要整个应用程序,这将有效。
答案 1 :(得分:0)
SendKeys.Send
方法会不加选择地将关键笔划发送到活动应用程序。无法使用此API来定位特定应用程序。
您可以更改应用以尝试验证活动应用是否也是您要发送密钥的应用。但这注定是一个片状的过程。无论您的验证有多好,在验证完成后,活动应用程序始终可以切换到另一个应用程序。
If VerifyActiveAppIsTarget() Then
SendKeys.Send("{Enter}") ' Active app could change before this runs
我会在我的应用之间发送不同的解决方案