替代sto VB.NET SendKeys

时间:2013-05-23 07:17:54

标签: vb.net sendkeys

我正在使用以下代码将密钥发送到某个应用程序,但在某些PC上它无法正常工作。代码本身应该没问题,因为在大多数计算机上它都可以正常工作。它只是在一些计算机上,它不起作用。它发送键太多次或根本不发送它们。 googeling之后我发现这是一些主板的comon问题,所以我想实现一个更可靠的代码来做同样的事情。

UPDATE:INPUTSIMULATOR不是一个选项,因为它不能用我的代码,因为我必须设置另一个窗口活动。 (刚试过它)

如何以更可靠的方式实现以下代码?

    ....
    Key = Sender.Tag
    If Key = "{SPACE}" Then Key = " "

    SetActiveWindow(Form1.activewin)

    If IsNumeric(Key) Then
        SendKeys.Send(Key)
    Else
        SendKeys.Send(Special & IIf(CapsLock.Checked, UCase(Key), Key))
    End If

    Application.DoEvents()

    ....

感谢

1 个答案:

答案 0 :(得分:0)

通过使用inputimulator并在前面添加SetForegroundWindow(Form1.activewin)来解决 SetActiveWindow(Form1.activewin)