找回密码
 加入
搜索
查看: 1029|回复: 7

[AU3基础] 利用_Timer_GetIdleTime函数使系统休眠,唤醒后立刻休眠,[已解决]

[复制链接]
发表于 2022-2-25 12:43:58 | 显示全部楼层 |阅读模式
本帖最后由 fayuOmg 于 2022-2-25 23:52 编辑
#include <Timers.au3>
While 1
      sleep(1000)
      Local  $SysIdleTime = _Timer_GetIdleTime()               
      If $SysIdleTime >= 1000*20 Then               
            Shutdown(32)
      EndIf
WEnd
利用_Timer_GetIdleTime函数获取系统空闲时间,并用于系统待机的话,用上面的语句在按电源键恢复系统时,由于If $SysIdleTime >= 1000*20为真,所以会立即又执行shutdown命令。

我写的代码比较复杂,上面只是为说明问题而最简化的部分。



我的解决办法是:见二楼
奇怪啊,这里就是加不了代码,只能放二楼了

在达到设定的超时待机前,先设定一个状态值,达到超时值时,翻转这个值。

这样即使_Timer_GetIdleTime的数值仍然满足条件,但不会触发Shutdown

 楼主| 发表于 2022-2-25 12:47:22 | 显示全部楼层
本帖最后由 fayuOmg 于 2022-2-25 23:53 编辑

#include <Timers.au3>
Local $iShutdownIsReady = 0

While 1
        Sleep(1000)
        Local  $SysIdleTime = _Timer_GetIdleTime()

                If $SysIdleTime >= 20000 Then        ;达到设定的超时值
                        If $iShutdownIsReady = 1 Then
                                $iShutdownIsReady = 0
                                Shutdown(32)
                        EndIf
                ElseIf $SysIdleTime >= 10000 Then      ;达到超时前设置一下中间状态
                        $iShutdownIsReady = 1
                Else
                        $iShutdownIsReady = 0
                EndIf
WEnd
发表于 2022-2-25 13:05:33 | 显示全部楼层
进入待机前显示倒计时msgbox
 楼主| 发表于 2022-2-25 13:59:48 | 显示全部楼层
afan 发表于 2022-2-25 13:05
进入待机前显示倒计时msgbox

大部分电脑在下班后都处于屏保状态,锁屏状态下msgbox的倒计时是无效的
发表于 2022-2-25 18:12:51 | 显示全部楼层
你如果要一直循环,在 Shutdown(32) 下面加两行试试
Sleep(10 * 1000)
MouseMove(500, 500)
不循环就加一行 Exit()
发表于 2022-2-25 20:15:25 | 显示全部楼层
afan 发表于 2022-2-25 18:12
你如果要一直循环,在 Shutdown(32) 下面加两行试试
Sleep(10 * 1000)
MouseMove(500, 500)

愣是没看懂题意
 楼主| 发表于 2022-2-25 20:38:22 | 显示全部楼层

老大好,是我题目没说明白。

比如说设定空闲超过20秒后待机,待机后,按电源键恢复系统,在此期间要是没有操作键鼠,那么_Timer_GetIdleTime返回的值就没有被置零,还是超过20秒的那个数值,满足 If $SysIdleTime >= 1000*20 ,就立即又待机了。

问题已经解决,在临近设定的时间前,设置一个状态值,超时后把它翻转就可以了。
 楼主| 发表于 2022-2-25 23:45:46 | 显示全部楼层
afan 发表于 2022-2-25 18:12
你如果要一直循环,在 Shutdown(32) 下面加两行试试
Sleep(10 * 1000)
MouseMove(500, 500)

a版,问题已解决,请关贴
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-5-16 20:32 , Processed in 0.074658 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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