*--表单的Load事件加代码:
PUBLIC gnMouseX,gnMouseY,gnTotalTimer
STORE 0 TO gnMouseX,gnMouseY,gnTotalTimer
DECLARE INTEGER GetCursorPos IN user32 STRING@ lpPoint
PUBLIC gnMouseX,gnMouseY,gnTotalTimer
STORE 0 TO gnMouseX,gnMouseY,gnTotalTimer
DECLARE INTEGER GetCursorPos IN user32 STRING@ lpPoint
*--表单的Unload事件加代码:
CLEAR DLLS
CLEAR DLLS
*--向表单添加一个Timer控件,Timer1控件的Interval值为1000(即1秒),Enabled属性为.T.,此控件的Timer事件:
cbuff=SPACE(16)
MyMouse=GetCursorPos(@cBuff) &&获取鼠标的坐标值
X=ASC(SUBSTR(cBuff,2,1))*256+ASC(SUBSTR(cBuff,1,1))
Y=ASC(SUBSTR(cBuff,6,1))*256+ASC(SUBSTR(cBuff,5,1))
IF gnTotalTimer=10 &&10秒
STORE 0 TO gnMouseX,gnMouseY,gnTotalTimer
MESSAGEBOX('鼠标已经10秒没有移动了'+SPACE(5),64,'信息提示')
ELSE
IF gnMouseX!=X OR gnMouseY!=Y
gnMouseX=ASC(SUBSTR(cBuff,2,1))*256+ASC(SUBSTR(cBuff,1,1))
gnMouseY=ASC(SUBSTR(cBuff,6,1))*256+ASC(SUBSTR(cBuff,5,1))
gnTotalTimer=0
ELSE
gnTotalTimer=gnTotalTimer+1
ENDIF
ENDIF
cbuff=SPACE(16)
MyMouse=GetCursorPos(@cBuff) &&获取鼠标的坐标值
X=ASC(SUBSTR(cBuff,2,1))*256+ASC(SUBSTR(cBuff,1,1))
Y=ASC(SUBSTR(cBuff,6,1))*256+ASC(SUBSTR(cBuff,5,1))
IF gnTotalTimer=10 &&10秒
STORE 0 TO gnMouseX,gnMouseY,gnTotalTimer
MESSAGEBOX('鼠标已经10秒没有移动了'+SPACE(5),64,'信息提示')
ELSE
IF gnMouseX!=X OR gnMouseY!=Y
gnMouseX=ASC(SUBSTR(cBuff,2,1))*256+ASC(SUBSTR(cBuff,1,1))
gnMouseY=ASC(SUBSTR(cBuff,6,1))*256+ASC(SUBSTR(cBuff,5,1))
gnTotalTimer=0
ELSE
gnTotalTimer=gnTotalTimer+1
ENDIF
ENDIF
*--表单的Init事件加代码:
THISFORM.TIMER1.TIMER()
THISFORM.TIMER1.TIMER()
示例:
http://dl2.csdn.net/down4/20070706/06165015473.rar