回 帖 发 新 帖 刷新版面

主题:键盘鼠标信息

各位:帮帮忙!
我在编一个屏幕保护小程序!翻了好多书就是不知道怎么去判断键盘和鼠标有无操作!哪位知道的帮帮我:写个代码看看了!

回复列表 (共9个回复)

沙发

看窗体有没有接收到键盘和鼠标的消息啊

记得鼠标的消息都来自WM_NCHITTEST
键盘消息就用WM_KEYDOWN

或都用这个
Private Declare Function GetAsyncKeyState Lib "user32.dll" (ByVal vKey As Long) As Integer

板凳

这个库函数怎么用呀?

3 楼

当鼠标和键盘无操作到达用户设定的时间,系统会自动调用你的屏保程序
而屏保程序一般在前台的吧,应该可以接收到输入信息。

所以呢,直接在KeyDown 和 MouseDown这里处理就是了。

哈哈,不知道楼主在找什么?

4 楼

估计LZ是要用于跳出屏保,而不是启动屏保

5 楼

一般屏保运行时,窗体都是最大化,那么,就可以用以下代码来判断鼠标是否移动,如果移动了一个像素(15缇)以上,就结束屏保:

Private Sub Form_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single) '移动鼠标时退出程序
Static currentX As Single, currentY As Single
Dim orignX As Single, orignY As Single
orignX = X: orignY = Y '把当前的鼠标值赋给orignX和orignY
If currentX = 0 And currentY = 0 Then currentX = orignX: currentY = orignY: Exit Sub
If Abs(orignX - currentX) > 15 Or Abs(orignY - currentY) > 15 Then End '或者转去结束屏保模块
End Sub

Private Sub Form_KeyDown(KeyCode As Integer, Shift As Integer) '按键时退出程序
End '退出
End Sub

6 楼


看来我的表达能力不行!呵呵
我是不知道怎么去判断鼠标和健盘有无动作!
我的思路是:我先设置好一开机就运行我编的程序并且隐藏了窗体。程序中规定当计算机在指定时间内没有发生任何操作,将运行XX工作!

7 楼

真正的屏保需要一开机运行的吗?
屏保应该是由Windows下调用你,没必要自己去运行。

8 楼

拜托告诉我怎么去判断键盘鼠标了?真的急。。。。。。!

9 楼

根据楼主的意思,那么就要在你的窗体上添加一个计时器,在计时器的Timer1_Timer事件中按照1楼所说的,用相应的API函数去判断

我来回复

您尚未登录,请登录后再回复。点此登录或注册