键盘行程模拟失败,Windows桌面被锁定

时间:2012-01-03 13:21:24

标签: c# sendinput

我有一个使用Windows Input Simulator的应用程序。我用它来模拟父应用程序的Ctrl-S击键。当Windows桌面被锁定时,会引发异常

  

例外:CONTROL的关键模拟不成功。      在WindowsInput.InputSimulator.SimulateKeyDown(VirtualKeyCode keyCode)      在WindowsInput.InputSimulator.SimulateModifiedKeyStroke(VirtualKeyCode modifierKeyCode,VirtualKeyCode keyCode)

这是我的代码:

InputSimulator.SimulateModifiedKeyStroke(VirtualKeyCode.CONTROL, VirtualKeyCode.VK_S);
InputSimulator.SimulateKeyDown(VirtualKeyCode.RETURN);

有什么想法吗?

2 个答案:

答案 0 :(得分:1)

按设计。机器锁定时会激活安全桌面。对于将按键敲入用户名/密码文本框的程序,它有对策。

您可以使用SystemEvents.SessionSwitch事件来检测已锁定和解锁的计算机。没有记录的方法来检测机器当前是否被锁定,您只能看到过渡。

答案 1 :(得分:0)

我可以想象,当PC被锁定时,Windows API对这种东西没有反应。