找回密码
 加入
搜索
查看: 3135|回复: 5

[网络通信] 统计软件实际使用时间

[复制链接]
发表于 2019-5-23 14:01:37 | 显示全部楼层 |阅读模式
悬赏11金钱已解决
请问各位大神,我想写一个.AU3是统计某个软件实际使用时间的,
判断使用时间的条件是
1,XX软件激活在最前 可以用Winactive来判断
2,鼠标正在动- 这个我不知道怎么判断
3,同时满足两个条件开始计时然后把时间记录在一个time.txt里面。
有没有大神知道该怎么写 多少!!

最佳答案

发表于 2019-5-23 14:01:38 | 显示全部楼层
Global $hGui = GUICreate('test', -1, -1, -1, -1, BitOR(0xCA0000, 0x10000))
GUISetState(@SW_MAXIMIZE)
Global $aPos0 = MouseGetPos(), $_timer = 0
AdlibRegister('_ck')
Do
Until GUIGetMsg() = -3
If $_timer Then MsgBox(0, '距离开始总时长', Round(TimerDiff($_timer) / 1000) & ' (秒)')
Func _ck()
        If Not WinActive($hGui) Then Return
        Local $aPosNow = MouseGetPos()
        If $aPosNow[0] <> $aPos0[0] Or $aPosNow[1] <> $aPos0[1] Then
                AdlibUnRegister()
                $_timer = TimerInit()
                ToolTip('开始计时')
        EndIf
EndFunc   ;==>_ck

评分

参与人数 2金钱 +50 贡献 +20 收起 理由
lpxx + 50 赞一个!
gzh888666 + 20

查看全部评分

发表于 2019-5-23 14:34:58 | 显示全部楼层
开始计时之后呢?直到软件退出的总时长?
还是鼠标要一直在激活的窗体活动才累计?
 楼主| 发表于 2019-5-24 10:52:39 | 显示全部楼层
afan 发表于 2019-5-23 14:34
开始计时之后呢?直到软件退出的总时长?
还是鼠标要一直在激活的窗体活动才累计?

你好
我想的是直到这个AU3被手动关闭才结束统计。
这个au3我会添加到开机启动里,用户一开机就自动运行以统计实际某个软件使用时间。
举个例子
用户打开outlook客户端,证明用户在使用outlook的依据就是outlook激活在最前面并且鼠标一直在动,因为outlook的窗体一般是最大化的。如果鼠标在激活窗口就开始统计的话就不太准确,他可能去吃饭了但是oulook激活在最前面并且鼠标也在outlook上.
所以我想的最优解决方案是oulook激活在最前端,并且鼠标在动就证明用户是在使用outlook中的。统计也依照这两个并行条件来统计。
发表于 2019-5-26 16:06:41 | 显示全部楼层
学习
发表于 2019-5-27 21:21:59 | 显示全部楼层
虽然不懂,但是帮顶一下.
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-11-16 10:20 , Processed in 0.084510 second(s), 23 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表