运行 通过 Window Task Scheduler 完成的每日任务,需要联网
Running a daily task via Window Task Scheduler with condition of internet access
我想要一个 AutoHotkey 任务 运行 在我的笔记本可以上网的情况下每天的特定时间,因为它需要打开一个网站。如果无法访问 Internet,运行 任务可用后立即执行。使用 Windows Task Scheduler,没有针对此条件的明显设置。也许有一种方法可以构建一个检查互联网连接的自定义事件触发器?
尽管我的要求对于计划任务来说非常基本,但我在互联网上找不到任何相关信息。
我的任务的“条件”选项卡中的“仅在以下网络连接可用时启动:任何连接”选项不起作用。我在飞行模式下离线,任务仍然触发。可能它检测到我的 Hyper-V 网络适配器“vEthernet”,因此条件为真。我也不想在那里设置特定的 WiFi 网络,因为当任务被触发时我可能在家里或在大学。到目前为止,我的任务的触发器是系统时钟。
您在 AutoHotkey 中尝试过任何东西吗?如果您有或首先尝试,我建议您发布您的代码。一般来说,我们不会为您编写代码,但我们很乐意帮助您解决具体问题。
为了帮助您入门,我建议您使用 SetTimer 定期检查现在几点。一旦它与您想要的时间相匹配,停用计时器并检查是否已连接到互联网(见下文)。如果已连接,请执行您提到的任务并重新激活计时器。如果不是,请每 30 秒重新检查一次。 (或任何你想要的)直到连接。
检查 Internet 连接不像 straight-forward 那样,但这是我偶尔使用的简化示例。
f1::
If NetChk( "https://www.google.com" )
MsgBox , Success!
Else
MsgBox , Nope... :(
Return
NetChk( sAddress )
{
ComObjError( false )
oWHR := ComObjCreate( "WinHttp.WinHttpRequest.5.1" )
oWHR.Open( "GET" , sAddress )
oWHR.Send()
Return oWHR.ResponseText
}
我想要一个 AutoHotkey 任务 运行 在我的笔记本可以上网的情况下每天的特定时间,因为它需要打开一个网站。如果无法访问 Internet,运行 任务可用后立即执行。使用 Windows Task Scheduler,没有针对此条件的明显设置。也许有一种方法可以构建一个检查互联网连接的自定义事件触发器?
尽管我的要求对于计划任务来说非常基本,但我在互联网上找不到任何相关信息。
我的任务的“条件”选项卡中的“仅在以下网络连接可用时启动:任何连接”选项不起作用。我在飞行模式下离线,任务仍然触发。可能它检测到我的 Hyper-V 网络适配器“vEthernet”,因此条件为真。我也不想在那里设置特定的 WiFi 网络,因为当任务被触发时我可能在家里或在大学。到目前为止,我的任务的触发器是系统时钟。
您在 AutoHotkey 中尝试过任何东西吗?如果您有或首先尝试,我建议您发布您的代码。一般来说,我们不会为您编写代码,但我们很乐意帮助您解决具体问题。
为了帮助您入门,我建议您使用 SetTimer 定期检查现在几点。一旦它与您想要的时间相匹配,停用计时器并检查是否已连接到互联网(见下文)。如果已连接,请执行您提到的任务并重新激活计时器。如果不是,请每 30 秒重新检查一次。 (或任何你想要的)直到连接。
检查 Internet 连接不像 straight-forward 那样,但这是我偶尔使用的简化示例。
f1::
If NetChk( "https://www.google.com" )
MsgBox , Success!
Else
MsgBox , Nope... :(
Return
NetChk( sAddress )
{
ComObjError( false )
oWHR := ComObjCreate( "WinHttp.WinHttpRequest.5.1" )
oWHR.Open( "GET" , sAddress )
oWHR.Send()
Return oWHR.ResponseText
}