2012-10-09 69 views
1

我想每8小時執​​行一次後臺任務(更常見的是罰款)。如果計算機在後臺任務應該執行時關閉或休眠,是否真的會跳過該迭代?Windows 8時間觸發的後臺任務

假設它的確如此,我的下一個要求是計算機休眠或打開時進行安排。後者很簡單;當會話開始時,我可以安排一個系統觸發的後臺任務。但當用戶「休眠」計算機時,我不確定如何處理這種情況。對此有何建議? UserPresent觸發器看起來很有前途,但我一直無法找到何時被觸發的任何定義。

回答

-1

我的建議是下載以下SDK示例:

http://code.msdn.microsoft.com/windowsapps/Background-Task-Sample-9209ade9

運行示例,註冊使用TimeTrigger後臺任務,並設置任務之前完成不久休眠的機器。然後,等待足夠長的時間以使任務計時器到期,然後恢復機器(保持示例應用程序運行),然後切換回示例應用程序並查看任務是否完成。

這應該告訴你任務是否會在恢復時執行。

+3

這不是一個真正的答案。 – mydogisbox

2

請參考本評論:http://blogs.msdn.com/b/windowsappdev/archive/2012/05/24/being-productive-in-the-background-background-tasks.aspx#10318589

所以,不,在TimeTrigger很可能會在系統處於睡眠/休眠跳過。

可用的條件可以在這裏找到:http://msdn.microsoft.com/en-US/library/windows/apps/windows.applicationmodel.background.systemconditiontype

我建議你創建兩個後臺任務(我沒有與後臺任務太多的經驗,所以我甚至不知道如何可能,這是)。一個用於TimeTrigger,另一個用UserPresent條件運行。如果TimeTrigger成功運行,請將標誌或值存儲在某個地方的最後一次運行時間,並且在第二個任務即將運行時,檢查該標誌/上次運行時間,然後根據需要中止或繼續。

希望這會有所幫助。

相關問題