0

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

更新: 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()

    ....

谢谢

4

1 回答 1

0

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

于 2013-05-23T08:52:15.383 回答