SendKeys VB.net

时间:2014-01-19 18:31:14

标签: vb.net sendkeys keystrokes

您已经开发了一个可以使用

与我的网站配合使用的应用程序

SendKeys.send(“{ENTER}”)在我的某个表单上提交信息。

有没有办法阻止它在应用程序之外运行?

例如我试图在后台运行该程序,当我浏览我的脸书或谷歌时它会随机点击输入。

感谢您的时间,非常感谢任何帮助。

2 个答案:

答案 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

我会在我的应用之间发送不同的解决方案