【问题标题】:timer depends on capslock计时器取决于大写锁定
【发布时间】:2013-04-04 23:22:58
【问题描述】:

我正在使用 Visual Studio 2010 C++,我正在制作一个 Windows 窗体应用程序。我的问题是如何制作一个计时器,它会根据大写锁定状态启动和停止,就像它会在大写锁定打开时启动并在大写锁定关闭时停止。像这样的东西

public void keyDownEvent(... )
    {
       if (capslockOn != 0)
           timer1->enabled = true
       else
           timer1->enabled = false
    }

【问题讨论】:

  • "Visual Studio 2010" 与您的问题有何关系? Visual Studio 2010 是一个 IDE。详细说明您使用什么样的框架来创建应用程序?例如,是 MFC,是 Qt,还是什么?
  • 这个问题是关于 C++ 的吗?我是 C#?
  • 阅读第一行。它是一个 C++ winforms

标签: c++ winforms visual-studio-2010


【解决方案1】:

在 C++ 中,您可以使用 Windows API 函数GetKeyState 来确定 CAPS LOCK 键的状态:

SHORT WINAPI GetKeyState(
  _In_  int nVirtKey
);

测试:

if ((GetKeyState(VK_CAPITAL) & 0x0001)!=0)
  // Caps Lock is ON
else
  // Caps Lock is OFF

VK_CAPITAL 是 0x14。低位开启或关闭,表示按键的状态。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-02-08
    • 1970-01-01
    • 2014-08-17
    • 2016-06-15
    • 2012-12-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多