【发布时间】:2013-05-23 07:17:54
【问题描述】:
我正在使用以下代码将密钥发送到某个应用程序,但在某些 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()
....
谢谢
【问题讨论】:
-
谢谢,但输入模拟器在我的情况下不起作用,因为我必须将文本写入 anotehr 窗口。刚刚更新了主帖。谢谢!
-
窗口是您项目的一部分还是来自不同的进程?
-
如果是不同的进程Process Class,将允许您覆盖标准输入。
-
一个不同的过程。对不起,我是新手,你能解释一下进程类是什么意思吗?