首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >检测NumLock是否关闭并始终将其打开

检测NumLock是否关闭并始终将其打开
EN

Stack Overflow用户
提问于 2009-06-02 06:24:33
回答 4查看 7.7K关注 0票数 1

当我的VB应用程序运行时,有什么方法可以检测NumLock是否关闭,以及如何自动将其重新打开?

编辑:我的应用程序是专用应用程序,在带有外部numpad设备的专用计算机上运行。

另一种选择是接受NUMPAD箭头键(etc)并将其转换为数字,这是可能的吗?(例如,忽略numlock关闭的情况,并在numlock打开时表现)

EN

回答 4

Stack Overflow用户

发布于 2009-06-02 06:36:53

我不确定你是如何在vb.net (谷歌快速找到的http://support.microsoft.com/kb/177674)中做到这一点的,但一般来说,像这样改变机器范围的设置是不受欢迎的:用户习惯于他们对你覆盖它的数字锁(或胶囊锁--或任何其他)键state...and的个人偏好。

这将真的激怒我。

也就是说,在只有你的应用程序在运行的情况下(例如,POS软件、医疗办公管理软件等),这可能是可以的。

票数 3
EN

Stack Overflow用户

发布于 2009-06-02 08:13:53

代码语言:javascript
复制
    Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
    Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)
    Private Const KEYEVENTF_KEYUP = &H2
    Const VK_NUMLOCK = &H90
    Const KEYEVENTF_EXTENDEDKEY = &H1
    Declare Function GetKeyState Lib "user32" Alias "GetKeyState" (ByVal ByValnVirtKey As Integer) As Short

 Private Sub numlockON()
        keybd_event(VK_NUMLOCK, 0, 0, 0) ' Press NUMLOCK key down
        keybd_event(VK_NUMLOCK, 0, KEYEVENTF_KEYUP, 0) ' Release it
    End Sub

If Not GetKeyState(VK_NUMLOCK) Then numlockON()
票数 2
EN

Stack Overflow用户

发布于 2009-06-02 07:52:28

物理删除数字键盘键?

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/938144

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档