指定的重复计数无效

时间:2014-07-08 02:06:33

标签: vb.net sendkeys

我正在试验一个简单的自动轮询器。我以前做过其中的几个,但从未收到过这个错误。我只是希望能够将textbox3中的文本发送到当前关注的窗口。这是代码:

Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
    If Timer1.Enabled = False Then
        Timer1.Enabled = True
        Button2.Text = "Stop"
    ElseIf Timer1.Enabled = True Then
        Timer1.Enabled = False
        Button2.Text = "Send"
    End If


End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    If CheckBox1.Checked = True Then
        SendKeys.Send("{ENTER}")
        SendKeys.Send(TextBox3.Text)
    ElseIf CheckBox1.Checked = False Then
        SendKeys.Send(TextBox3.Text)
    End If
End Sub

Private Sub NumericUpDown1_ValueChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NumericUpDown1.ValueChanged
    Timer1.Interval = NumericUpDown1.Value
End Sub

这是涉及sendkeys方法和计时器的唯一部分。 textbox3中的一些文本也来自变量,如果这有助于了解。

1 个答案:

答案 0 :(得分:0)

在另一个(现已删除的)问题中,您声称错误发生在此处:

SendKeys.Send(Textbox3.Text)

那么产生错误的Textbox3.Text的价值是多少?根据{{​​3}},指定重复键将涉及一个键令牌和一个由空格分隔的整数,用花括号括起来。类似于"{LEFT 42}""{h 10}"的内容。因此,如果您输入"{A B}"之类的内容,那么它就会失败。

大概Textbox3.Text的运行时值为SendKeys.Send()的格式无效,或者是否使用了为格式字符串保留的字符。