10

我用 SendKeys 创建了一个简单的测试,并尝试了 SendWait 和 Send。

 Private Sub Form1_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Click
    System.Threading.Thread.Sleep(10000)
    SendKeys.SendWait("If you can read this, it works." + "{ENTER}")
End Sub

我在Skype上测试过,有几个字母翻了一番。我在 Flash 中测试,我得到“Iffff yyouu cccaaaannn rrreaaaddd thhhiiisss,,, iiittt wwwooorrrrkkks。”

很明显,这个问题是由滞后引起的。我能做些什么来防止字母加倍(或三倍)?我可能在这里错过了一些大事......

4

2 回答 2

10

在您的应用程序设置中(app.config在 Visual Studio 解决方案中,或<myapp>.exe.config与应用程序并排放置时),将以下内容添加为元素的子<configuration>元素:

<appSettings>    
    <add key="SendKeys" value="SendInput"/>    
</appSettings> 

如果这不起作用,请尝试:

<appSettings>    
    <add key="SendKeys" value="JournalHook"/>    
</appSettings> 

来源:SendWait() [MSDN]

“......因此,SendKeys 类在不同的操作系统上可能表现不同......”

于 2010-02-27T06:28:38.567 回答
0

不要调试。

在我的情况下,Visual Studio 调试器搞砸了。

在发布时运行程序而不是调试给了我预期的行为,而将其附加或调试配置正在复制输出

于 2020-10-02T09:40:03.173 回答