当我的VB应用程序运行时,有什么方法可以检测NumLock是否关闭,以及如何自动将其重新打开?
编辑:我的应用程序是专用应用程序,在带有外部numpad设备的专用计算机上运行。
另一种选择是接受NUMPAD箭头键(etc)并将其转换为数字,这是可能的吗?(例如,忽略numlock关闭的情况,并在numlock打开时表现)
发布于 2009-06-02 06:36:53
我不确定你是如何在vb.net (谷歌快速找到的http://support.microsoft.com/kb/177674)中做到这一点的,但一般来说,像这样改变机器范围的设置是不受欢迎的:用户习惯于他们对你覆盖它的数字锁(或胶囊锁--或任何其他)键state...and的个人偏好。
这将真的激怒我。
也就是说,在只有你的应用程序在运行的情况下(例如,POS软件、医疗办公管理软件等),这可能是可以的。
发布于 2009-06-02 08:13:53
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()发布于 2009-06-02 07:52:28
物理删除数字键盘键?
https://stackoverflow.com/questions/938144
复制相似问题