2014-12-13 43 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