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 でテストしたところ、いくつかの文字が 2 倍になりました。私はフラッシュでテストしました。

明らかに、問題はラグによって引き起こされます。文字が 2 倍 (または 3 倍) にならないようにするにはどうすればよいですか? 私はおそらくここで何か大きなものを見逃しています...

4

2 に答える 2

10

アプリの設定 ( app.configVisual 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 に答える