我正在使用以下代码将密钥发送到某个应用程序,但在某些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()
....
感谢
答案 0 :(得分:0)
通过使用inputimulator并在前面添加SetForegroundWindow(Form1.activewin)
来解决
SetActiveWindow(Form1.activewin)