办公电脑辅助关机
;忙碌的上班生活,让我们分身乏术,每天下班都还得记得做一件小事关闭计算机。
;人毕竟不是机器,难免有时会因其他琐事而疏忽了正在待机的计算机,造成不环保,所以写了这个程序辅助大家关闭计算机,为节约资源做点贡献!
;“程序名.EXE /I”为注册本程序服务,以后可以随系统运行而运行,一劳永逸;“程序名.EXE /U”为移除本程序服务,你仍可以通过手工运行此程序来获得此服务。
;正常下班关机时间大约为17点,加班下班时间为21点。
#Include <Date.au3>
#NoTrayIcon
Global $afternoon="16:58",$night="20:58"
If $CmdLine[0] > 0 Then
If StringUpper($CmdLine[1]) ="/I" Then
If ProcessExists("AutoHalt.EXE") Then
ProcessClose("AutoHalt.EXE")
sleep(250)
EndIf
FileCopy(@ScriptFullPath,@WindowsDir&"\AutoHalt.EXE",1)
sleep(250)
RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "AutoHalt", "REG_SZ", @WindowsDir&"\AutoHalt.EXE")
Run("AutoHalt.EXE",@WindowsDir)
MsgBox( 0, "消息", "注册成功,计算机已经启用自动关机服务")
EndIf
If StringUpper($CmdLine[1]) ="/U" Then
RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "AutoHalt")
If ProcessExists("AutoHalt.EXE") Then
ProcessClose("AutoHalt.EXE")
sleep(250)
EndIf
MsgBox( 0, "消息", "自动关机服务已经成功移除")
EndIf
Exit
EndIf
If WinExists("AutoHalt") Then Exit
AutoItWinSetTitle("AutoHalt")
If _NowTime(4) > $afternoon AND _NowTime(4) < $night Then
$b = False
Else
$b = True
EndIf
HotKeySet("^!u", "cancel")
While 1
sleep(1000*60)
If _NowTime(4)> $afternoon and _NowTime(4)< $night and $b Then
$b = False
halt()
EndIf
If _NowTime(4)> $night and not($b) Then
$b = true
halt()
EndIf
WEnd
Func halt()
$c = MsgBox( 4369, "下班时间到了!", "确定要立即关闭计算机吗?"&@CRLF&"默认将于1分钟后自动关闭计算机 ",60 )
IF $c = 1 Then
IF MsgBox( 4369, "下班时间到了!", "请再次确定是否要立即关闭计算机?" ) = 1 Then
Shutdown(13)
EndIf
EndIf
IF $c = -1 Then
Shutdown(13)
EndIf
EndFunc
Func cancel()
If _NowTime(4)< $afternoon Then
If $b Then
$b = False
ToolTip("下班自动关机已经取消!", 0, 0,"",0,1)
Sleep(1000)
Else
$b = True
ToolTip("下班自动关机已经启用!", 0, 0,"",0,1)
Sleep(1000)
EndIf
EndIf
ToolTip("", 0, 0,"",0,1)
EndFunc