嗨,我开发了一个可以与我的网站一起使用的应用程序
SendKeys.send("{ENTER}") 在我的一个表单上提交信息。
有没有办法阻止它在应用程序之外运行?
例如,我试图在后台运行程序,当我浏览我的 Facebook 或谷歌时,它会随机不断地按 Enter。
任何帮助都非常感谢您的时间。
嗨,我开发了一个可以与我的网站一起使用的应用程序
SendKeys.send("{ENTER}") 在我的一个表单上提交信息。
有没有办法阻止它在应用程序之外运行?
例如,我试图在后台运行程序,当我浏览我的 Facebook 或谷歌时,它会随机不断地按 Enter。
任何帮助都非常感谢您的时间。
简短的回答是查看进程可用的窗口并检查标题以查看它是否是您想要的页面。
If System.Diagnostics.Process.GetProcessesByName("firefox").MainWindowTitle = 'My Page Title'
...
End If
也就是说,有更好的方法可以做到这一点 - 如果您使用的是 firefox,请查看GreaseMonkey,如果在 Chrome 中,请查看TamperMonkey。
两者都允许您将自定义 javascript 注入其 url 与您选择的模式匹配的任何页面。实际上,您可以编写一些 Javascript在页面加载后 30 秒提交表单(例如)。
如果选择了不同的选项卡并且不需要整个应用程序,这将具有工作的好处。
该SendKeys.Send
方法将不加选择地将击键发送到活动应用程序。无法使用此 API 来定位特定应用程序。
您可以更改您的应用程序以尝试验证活动应用程序也是您要发送密钥的应用程序。不过,这注定是一个不稳定的过程。无论您的验证有多好,在您的验证完成后,活动应用程序总是有可能切换到另一个应用程序。
If VerifyActiveAppIsTarget() Then
SendKeys.Send("{Enter}") ' Active app could change before this runs
我会采用不同的解决方案在我的应用程序之间发送数据