使用 Microsoft 登录
登录或创建帐户。
你好,
使用其他帐户。
你有多个帐户
选择要登录的帐户。

摘要

SetKeyboardState ()的文档中正确指出,您无法使用此 API 来切换 NUM LOCK、CAPS LOCK 和 SCROLL LOCK 键。你可以使用 keybd_event ()在 Windows NT 下切换 NUM LOCK、CAPS LOCK 和 SCROLL LOCK 键。 相同的技术可用于在 Windows 95 下切换 CAPS LOCK 和滚动锁,但它不会对 NUM LOCK 有效。

更多信息

下面的示例程序将在 NUM LOCK 灯关闭时将其打开。 此处定义的 SetNumLock 函数模拟按 NUM LOCK 键,使用 keybd_event ()和 VK_NUMLOCK 的虚拟键。 它采用一个布尔值,用于指示是否应关闭光(FALSE)或 on (TRUE)。相同的技术可用于 CAPS LOCK 键(VK_CAPITAL)和滚动锁定键(VK_SCROLL)。

示例代码

   /* Compile options needed:   */    #include <windows.h>   void SetNumLock( BOOL bState )   {      BYTE keyState[256];      GetKeyboardState((LPBYTE)&keyState);      if( (bState && !(keyState[VK_NUMLOCK] & 1)) ||          (!bState && (keyState[VK_NUMLOCK] & 1)) )      {      // Simulate a key press         keybd_event( VK_NUMLOCK,                      0x45,                      KEYEVENTF_EXTENDEDKEY | 0,                      0 );      // Simulate a key release         keybd_event( VK_NUMLOCK,                      0x45,                      KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP,                      0);      }   }   void main()   {      SetNumLock( TRUE );   }

需要更多帮助?

需要更多选项?

了解订阅权益、浏览培训课程、了解如何保护设备等。

社区可帮助你提出和回答问题、提供反馈,并听取经验丰富专家的意见。

此信息是否有帮助?

你对语言质量的满意程度如何?
哪些因素影响了你的体验?
按“提交”即表示你的反馈将用于改进 Microsoft 产品和服务。 你的 IT 管理员将能够收集此数据。 隐私声明。

谢谢您的反馈!

×