2012-12-30 29 views
6

我正在編寫一個主要在後臺運行的Windows 8應用程序。這個應用程序將特定於計算機(即沒有平板電腦或手機,以防有所作爲)。它需要能夠在後臺運行時觀看指定的文件夾,並在該文件夾發生變化時收到通知。因爲它是Windows應用商店應用程序,所以我不能使用FileSystemWatcher,這對我來說是完美的。另外,我無法使用定時器來觀看文件夾,因爲這些更改將每10-15秒發生一次,並且定時器不支持短於15分鐘的時間。我還有什麼其他選擇?如何監視Windows應用程序背景中的更改文件夾?

+0

你可以有它運行一個後臺程序,做了檢查,並返回每當有一個變化。這將得到15分鐘的限制。 – FrostyFire

+0

@JABFreeware因此,我將不得不編寫另一個程序來觀察文件夾,將它打包成可執行文件,將可執行文件添加到我的應用程序,讓我的應用程序運行它,然後告訴我的應用程序監聽來自可執行文件的消息? – Garrett

+2

解決方法之一就是不要將您的應用程序放置在有意阻止您執行您想要做的事情的商店中。 –

回答

1

既然你不能使用閃光每15秒左右的時間,我可以推薦的唯一事情就是運行一個簡單的循環,在循環之前它會檢查從系統時鐘的系統時間,然後用每一個計時器循環它檢查當前系統時鐘與原始存儲值之間的差異。當達到15秒時,循環停止並啓動檢查文件夾的代碼。如果循環中的代碼很簡單並且使用Sleep調用,則不應占用任何系統資源。

我希望這可以幫助你!

+0

忙碌的等待?至少建議他在循環中加入某種「睡眠」呼叫,如果允許的話......否則會殺死CPU,並將電池放下來!一個空循環不**使用「幾乎沒有任何系統資源」。它使處理器(或至少一個核心)不斷運行在100%的容量。 –

+0

@MattiVirkkunen我相信他認爲我會把一個'睡眠'相當於。我知道它會殺死CPU。 – Garrett

+0

@MattiVirkkunen是的,我確實假設。我會編輯我的答案只是爲了澄清 – FrostyFire

相關問題