【问题标题】:Sendkeys Ctrl+Alt+Shift+F6 (Deep Freeze)发送键 Ctrl+Alt+Shift+F6(深度冻结)
【发布时间】:2018-02-20 10:50:27
【问题描述】:

我尝试发送组合键 Shift+Ctrl+Alt+F6 以调出 Deep Freeze 工作站配置屏幕 SendKeys.Send("+^%{F6}"); 和 SendKeys.Send("+^%({F6})");

但是没有一个工作 在发送之前,Deep Freeze 没有任何窗口可显示

在 AutoIT 版本中,我可以使用 Send("+^!{F6}") 并且有效

有人能指出我正确的方向吗?提前致谢

【问题讨论】:

  • 你确定它不响应按键按下或按键而不是按键..
  • 也许您必须先激活窗口才能使组合键起作用?!?
  • @BugFinder:不确定你的意思,但要启动 DF 对话框,我必须按住 Shift+Ctrl+Alt 的同时按下然后释放 F6。 RandRandom:Deep Freeze 在发送该组合以将其启动之前没有窗口
  • @user2490287 那么你需要了解更多关于windows消息的知识,有各种消息,key down,key up等等。

标签: c# combinations sendkeys


【解决方案1】:

感谢您提供帮助。 发现 Sendkeys.Send 只有在它有目标的情况下才有效,如果没有,那么它只是发送给它自己的应用程序。 Deep Freeze 设置控制台在组合键显示之前没有 GUI,这就是我无法使用它的原因。 AutoIT 的发送功能不需要目标,它就像物理键盘一样工作。 我暂时使用 NuGet InputSimulator 来完成工作。讨厌将 dll 放在可执行文件夹中以使其正常工作,因此一旦我了解有关要理解的内容的更多信息,就会考虑转换为本机 PostMessage 或 SendInput。 现在我的代码很简单:

s.Keyboard.ModifiedKeyStroke(
            new[] { VirtualKeyCode.CONTROL, VirtualKeyCode.MENU, 
VirtualKeyCode.SHIFT },
            new[] { VirtualKeyCode.F6 }
            );

【讨论】:

    猜你喜欢
    • 2022-12-28
    • 2015-10-18
    • 2018-06-30
    • 1970-01-01
    • 1970-01-01
    • 2012-08-15
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多