VB中怎样检测鼠标键盘动作?

比如,鼠标或键盘动一下,就会产生XXX事件,代码怎么写?... 比如,鼠标或键盘动一下,就会产生XXX事件,代码怎么写? 展开
 我来答
lxz1969
2009-07-21 · TA获得超过1.1万个赞
知道大有可为答主
回答量:8524
采纳率:33%
帮助的人:1.2亿
展开全部
鼠标可以触发mousemove 、MouseDown、MouseUp事件。
键盘可以触发keydown、keypress、keyup事件。
百度网友2032eaa
2009-07-21 · TA获得超过809个赞
知道大有可为答主
回答量:2149
采纳率:100%
帮助的人:1857万
展开全部
mousemove
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友4b636fa
2009-07-21 · TA获得超过1238个赞
知道小有建树答主
回答量:866
采纳率:100%
帮助的人:1420万
展开全部
'用 API 函数配合控件 Timer1,不管活动窗口是那一个,也不管是不是本程序窗口,都能检测键盘和鼠标状态
'运行后,请留意本窗口标题栏给出的信息
Private Declare Function GetAsyncKeyState Lib "user32" (ByVal vKey As Long) As Integer
Private Declare Function GetCursorPos& Lib "user32" (lpPoint As PointAPI)
Private Type PointAPI
X As Long: Y As Long
End Type
Dim ctTimer As Single

Private Sub Form_Load()
Timer1.Enabled = True: Timer1.Interval = 100
End Sub

Private Sub Timer1_Timer()
Dim T As Single
T = Format(Timer - ctTimer, "0.0")
If KeyOrMouse() Then T = 0: ctTimer = Timer
Me.Caption = "鼠标和键盘未动时间:" & T & " 秒"
End Sub
Private Function KeyOrMouse() As Boolean
Static x0 As Long, y0 As Long
Dim nMouse As PointAPI, I As Long, dl As Long

'检测鼠标 是否移动
Call GetCursorPos(nMouse) '获取当前鼠标位置
If x0 <> nMouse.X Or y0 <> nMouse.Y Then KeyOrMouse = True
x0 = nMouse.X: y0 = nMouse.Y
If KeyOrMouse Then Exit Function

'检测键盘 是否按动
For I = 0 To 255
dl = GetAsyncKeyState(I)
If dl <> 0 Then KeyOrMouse = True: Exit Function
Next
End Function
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式