所以我在Visual Basic中制作了这个AutyoTyper。这很简单。我写下我希望它键入的文本,然后选择我希望文本输入的频率。这是代码。
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Timer1.Interval = TextBox2.Text * 1000
Timer1.Start()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
SendKeys.Send(TextBox1.Text)
SendKeys.Send("{Enter}")
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
Timer1.Stop()
End Sub
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
End Sub
End Class
是否可以使我创建的此应用程序仅在特定程序中运行。我会想要它在一个程序中运行,而我在一边做其他东西而没有让autotyper中断我的其他活动。我希望它针对特定的程序。有什么提示吗?
答案 0 :(得分:0)
要使用SendKeys
,目标程序必须具有焦点。您无法将键击发送到没有焦点的程序。因此,使用SendKeys时无法避免中断用户的工作。
您可以使用目标程序的API而不是使用SendKeys。这仅适用于目标程序具有可以使用的API的情况。
例如:对于Microsoft Excel或Word,您可以编写在后台启动程序的代码,并将单词写入工作表或页面,而不会使这些程序具有焦点。请注意,您无法使用SendKeys进行此操作。但我不知道如何用记事本做同样的事情。许多程序都不能让你在后台操作它们。
请注意使用SendKeys可能很危险。如果用户在错误的时间点击错误的窗口,输出将被转储到新活动的窗口而不是预期的窗口。如果可能,应该避免使用它。