是否有任何免费软件可以检测互联网状态并在互联网断开连接时关闭系统?
或者(更一般地说)当互联网断开连接时,某些东西是否可以运行一项任务,然后我可以路由它来关闭机器?
我整夜都在下载东西。但我的问题是,有时互联网连接会在半夜断开,因此让系统整夜运行是没有意义的。
所以我需要通过检测网络连接来避免这个问题。
答案1
您可以制作自己的可执行文件,在其中 ping 一些热门网站并查看是否收到响应。如果没有,您可以关闭系统。我相信已经有免费软件可以做到这一点。如果我找到任何软件,我会更新。
答案2
答案3
一个简单的解决方案是写一个自动识别尝试 ping 您的互联网服务提供商的 DNS 解析器的程序。这是检测您是否“连接”到互联网的唯一正确方法,因为 ping 第三方网站并不总是可靠的。
我会将其设置为每分钟 ping 一次,如果 5 分钟内没有收到任何响应,则关闭计算机(或将其设置为进入睡眠模式)。幸运的是,AutoIt 有一个内置Ping()
和Sleep()
功能。
简单的脚本如下所示:
Local $i = 0
While $i < 5 ; Looping until we hit 5 attempts...
If Ping("12.34.56.78", 10000) == 0 Then ; If we couldn't ping...
$i = $i + 1 ; Increment the counter.
Else ; Else, if we could,
$i = 0 ; Reset the counter.
EndIf
Sleep(60000) ; Finally, loop every minute.
WEnd
; If the script gets here, we missed 5 pings - take action.
Shutdown(32) ; See the Shutdown() documentation, this makes the PC sleep.
; http://autoitscript.com/autoit3/docs/functions/Shutdown.htm
在整夜运行计算机之前,您可以执行上述脚本。要继续正常使用计算机,只需关闭该脚本即可。
免责声明:我没有测试过此代码(我是在 Notepad++ 中快速编写的),但它看起来可行。
答案4
刚才遇到了类似的问题,发现AMP WinOFF 5.0.1。该工具在其描述中指出:
关机计划的几种模式/条件:当没有网络活动时。
虽然我需要使用它来在流量低于某个水平时停止,但将组合传输设置为 0 应该会在互联网断开连接时关闭计算机。
我尝试使用另一个答案中提到的工具 DownOff,但它目前似乎已过时。虽然该程序本身可以从一些网站下载,但需要注册码才能激活,而开发人员的网站似乎在 2015 年之后不再提供注册码。