将SendKeys()发送到已停用的表单

时间:2017-01-04 21:16:56

标签: c# .net windows winforms input

我有一个自动模拟一些按键的应用程序。我正在使用以下代码:

public void goNextPage()
{
    WindowsInput.InputSimulator ip = new WindowsInput.InputSimulator();
    ip.Keyboard.ModifiedKeyStroke(new[] { WindowsInput.Native.VirtualKeyCode.CONTROL, WindowsInput.Native.VirtualKeyCode.MENU }, WindowsInput.Native.VirtualKeyCode.VK_Y);
    Thread.Sleep(5000);
}

Input SimulatorSendKeys()的替代方案。我转移到此,因为SendKeys()遇到了同样的问题。

问题在于,有时用户需要最小化模拟键的形式。我尝试最小化表单,但不是将密钥发送到其所有者表单,而是将它们发送到新激活的表单或活动应用程序,如Visual Studio和Google Chrome。例如:当我开始在Chrome的地址栏中键入内容并同时我的应用程序发送SHIFT键时,我的输入数据会转换为数字键上的大写字母或符号。

那么可以将密钥发送到已停用的表单吗?还是违反了操作系统规则?它可以被覆盖吗?

0 个答案:

没有答案