2014-12-13 158 views
0

我想在Windows 7中创建基于事件的计划任务,该任务在建立通过LAN的​​特定网络连接时启动程序(VirtualRouter)。我尝试使用Windows/NetworkProfile 10000触发器,但由于VirtualRouter创建了自己的网络连接,因此它会进行循环。当连接到特定网络时开始计划任务

+0

你可以接受使用脚本吗?这会打开几个可能性,例如检查脚本内连接到PC的网络,或者只是确保脚本只运行一次。 – Syberdoor 2014-12-20 22:21:50

+0

当然:)结束证明的意思;) – CamilloS 2014-12-22 12:35:25

回答

0

既然你说使用脚本就可以了,要做到这一点最简单的方法可能是在PowerShell中一个简单的衬垫这样的例子:

if (! (ps | ? {$_.Path -eq "C:\Windows\system32\notepad.exe"})) {& "C:\Windows\system32\notepad.exe"} 

这只是启动程序时,它没有运行。如果你在网络连接上触发10000事件,每次它只能启动你的程序一次。

我选择PowerShell的,因为它是包含在Windows,它是一个不错的一个衬垫,因此,如果您在其他脚本语言更经历了同样的原理:

  • 检查过程中已经运行
  • 如果它没有运行,请启动它

当然可以用任何语言实现。

+0

你的脚本适用于任何类型的应用程序,除了我的虚拟路由器的.bat文件,因为它在VirtualRouter建立它自己的网络连接之前关闭。使用10000个事件触发器就是循环。不过,你建议我保持进程运行时间比建立虚拟路由器网络连接的时间长。我在我的vbs脚本中使用了WScript.Sleep 10000。谢谢你:)现在它的工作完美;) – CamilloS 2014-12-24 15:12:39

+0

@CamilloS啊是的,这是一个问题。很高兴听到你解决了你的问题。 – Syberdoor 2014-12-25 09:31:16