如何监测窗口从上次关闭至今有多少时间了
本帖最后由 faceyao 于 2009-6-26 23:43 编辑如果“无标题—记事本”从上次关闭到现在超过了10分钟,则发送一个msgbox信息
msgbox(0,"","有10分钟没打开记事本啦")
请问这个代码怎么写,需要使用哪个函数?,谢谢 可以把当前的时间作为一个变量
再把要提示的时候的那个时间用数学函数对比相减
得出的就是你要的时间 能说具体代码吗 本帖最后由 jhun 于 2009-6-26 22:04 编辑
dim $Time
If WinExists ("无标题—记事本")=1 Then
While 1
If WinExists ("无标题—记事本")=0 Then
$Time=$Time+1
If $Time=600 Then
MsgBox(0,"","有10分钟没打开记事本啦")
ExitLoop
EndIf
EndIf
Sleep(1000)
WEnd
EndIf 本帖最后由 faceyao 于 2009-6-26 21:47 编辑
4# jhun
你好,谢谢,但以上代码运行后一闪就退出了 因为先检测要有记事本存在他才会继续执行,否则就退掉了 本帖最后由 jhun 于 2009-6-26 22:05 编辑
dim $Time
While 1
If WinExists ("无标题 - 记事本")=1 Then
MsgBox(0,"","开始了")
While 1
If WinExists ("无标题 - 记事本")=0 Then
$Time=$Time+1
If $Time=600 Then
MsgBox(0,"","有10分钟没打开记事本啦")
ExitLoop
EndIf
EndIf
Sleep(1000)
WEnd
EndIf
WEnd 本帖最后由 jhun 于 2009-6-26 22:06 编辑
用后面这个,就不会闪一下退出了 本帖最后由 faceyao 于 2009-6-26 22:44 编辑
8# jhun
你好,的确可以了,万分谢谢! Dim $iTimer = 0, $sTitle = "无标题 - 记事本"
While 1
Sleep(500)
If Not WinExists($sTitle) Then
If $iTimer Then
Msgbox(0, '', TimerDiff($iTimer) / 1000 & "s delayed.")
$iTimer = 0
EndIf
ContinueLoop
EndIf
If $iTimer = 0 Then $iTimer = TimerInit()
WEnd 用这个 TimerDiff比较好点:)呵呵
页:
[1]