我有一个自动模拟一些按键的应用程序。我正在使用以下代码:
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 Simulator是SendKeys()
的替代方案。我转移到此,因为SendKeys()
遇到了同样的问题。
问题在于,有时用户需要最小化模拟键的形式。我尝试最小化表单,但不是将密钥发送到其所有者表单,而是将它们发送到新激活的表单或活动应用程序,如Visual Studio和Google Chrome。例如:当我开始在Chrome的地址栏中键入内容并同时我的应用程序发送SHIFT
键时,我的输入数据会转换为数字键上的大写字母或符号。
那么可以将密钥发送到已停用的表单吗?还是违反了操作系统规则?它可以被覆盖吗?