【问题标题】:Detecting Ctrl key being held down on application startup?检测应用程序启动时按住 Ctrl 键?
【发布时间】:2011-09-14 01:26:00
【问题描述】:

当我们的 WPF 应用程序启动时,它使用 Single Sign On 登录。为了让测试人员模拟其他用户,我们希望检测到在启动时按住 Control 按钮,并弹出一个登录对话框。

【问题讨论】:

  • 说明您的平台会有所帮助。 WinForms/WPF/控制台/其他?

标签: c# .net wpf


【解决方案1】:

查看this 文章,它使用 ModifierKeys 找出您要查找的内容

【讨论】:

    【解决方案2】:

    查看以下链接...向下滚动查看 Jeff Wain 的答案。

    How to detect the currently pressed key?

    【讨论】:

      【解决方案3】:

      这是我在 WPF 应用程序中用来检查控制键是否在主窗口的构造函数中被按住的方法。它使用System.Windows.Input.Keyboard

      if ((Keyboard.Modifiers & ModifierKeys.Control) > 0)
          PromptForMarketSelection();
      

      编辑 - 修正了 Coincoin 指出的错误

      【讨论】:

      • 使用 (Keyboard.Modifiers & ModifierKeys.Control) 可能会更好!= 0
      • 对于 .NET 3.5+ if (Keyboard.Modifiers.HasFlag(ModifierKeys.Control)) PromptForMarketSelection();
      【解决方案4】:

      一个通用的解决方案是 p/invoke GetAsyncKeyState(VK_CONTROL),以防您在 .NET 中找不到任何内容。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-03-12
        • 2014-04-23
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多