Http://www.cnng.net  首页 原创软件   VB文挡  VB资源   乱舞人生  资源   Tags  给我留言 
用户登陆
用户:
密码:
 

站点日历
73 2024 - 11 48
     12
3456789
10111213141516
17181920212223
24252627282930


站点统计

最新日志
vba密码太弱了
晴天 读取及设定NumLock/CapsLock/ScrollLock的值   [ 日期:2019-04-09 ]

程序代码:[ 复制代码 ] 
Private Declare Function GetKeyState Lib "user32" (ByVal nVirtKey As Long) As Integer
Private Declare Function GetKeyboardState Lib "user32" (pbKeyState As Byte) As Long
Private Declare Function SetKeyboardState Lib "user32" (lppbKeyState As Byte) As Long

'/石陆软件屋转录
'/http://www.cnng.net

Private Sub SetKeyState(intKey As Integer, fTurnOn As Boolean)
'取得键盘目前的状态,设定您想设定的任意键,再将其他键还成之前的状态,只改变一个键值
Dim abytBuffer(0 To 255) As Byte
GetKeyboardState abytBuffer(0)
abytBuffer(intKey) = CByte(Abs(fTurnOn))
SetKeyboardState abytBuffer(0)
End Sub

Function GetCapslock() As Boolean
'返回 Capslock 的状态
GetCapslock = CBool(GetKeyState(vbKeyCapital) And 1)
End Function

Function GetNumlock() As Boolean
'返回 Numlock 的状态
GetNumlock = CBool(GetKeyState(vbKeyNumlock) And 1)
End Function

Function GetScrollLock() As Boolean
'返回 ScrollLock 的状态
GetScrollLock = CBool(GetKeyState(vbKeyScrollLock) And 1)
End Function

Sub SetCapslock(Value As Boolean)
'设定 Capslock 的状态
Call SetKeyState(vbKeyCapital, Value)
End Sub

Sub SetNumlock(Value As Boolean)
'设定 Numlock 的状态
Call SetKeyState(vbKeyNumlock, Value)
End Sub

Sub SetScrollLock(Value As Boolean)
'设定 ScrollLock 的状态
Call SetKeyState(vbKeyScrollLock, Value)
End Sub


Private Sub Command1_Click()
SetNumlock True ' 设定 ScrollLock 为 On
End Sub

Private Sub Command2_Click()
MsgBox "GetNumlock(WWW.cnng.net):" & GetNumlock ' 取得 ScrollLock 状态
End Sub





[阅读字体大小: ]
引用通告地址 (0):
复制引用地址http://www.cnng.net/blog/trackback.asp?tbID=108
复制引用地址http://www.cnng.net/blog/trackback.asp?tbID=108&CP=GBK
暂时没有评论
发表评论 - 不要忘了输入验证码哦!
作者: 用户名:  密码:   注册? 验证码: 
评论:

禁止表情
禁止UBB
禁止图片
识别链接
识别关键字
表  情