2012-12-30 14 views
6

私は主にバックグラウンドで実行されるWindows 8 Appを作成しています。このアプリはパソコンに固有のものです(違いがある場合はタブレットや携帯電話がありません)。指定したフォルダがバックグラウンドで実行されているときにそのフォルダを監視し、そのフォルダに変更があったときに通知を受ける必要があります。それはWindowsストアアプリケーションなので、私はFileSystemWatcherを使用することはできません。私の状況では完璧です。また、これらの変更は10〜15秒ごとに発生し、タイマーは15分未満の時間をサポートしないため、フォルダを監視するためにタイマーを使用することはできません。その他の選択肢は何ですか?Windowsアプリケーションのバックグラウンドでフォルダを監視するにはどうすればよいですか?

+0

変更を行うと、チェックを行い、変更があるたびに戻るバックグラウンドプログラムを実行できます。それは15分の制限の周りになるだろう。 – FrostyFire

+0

@JABFreewareフォルダを監視し、実行可能ファイルにパッケージ化し、実行可能ファイルをアプリケーションに追加し、アプリケーションを実行させ、実行可能ファイルからのメッセージをリッスンするようにアプリケーションに指示する別のプログラムを作成する必要がありますか? – Garrett

+2

あなたがやりたいことを意図的に行えないように、あなたのアプリケーションを店に入れないことが1つの解決策です。 –

答えて

1

15秒ごとに起動するタイマーは使用できませんので、ループ前にシステムクロックからシステム時刻を確認してからループは、現在のシステムクロックと最初に格納された値との間の差をチェックします。 15秒になると、ループが停止し、フォルダをチェックするコードが開始されます。ループ内のコードが単純で、Sleep呼び出しを使用する場合は、システムリソースをほとんど使用しないでください。

私はこれがあなたを助けてくれることを願っています!

+0

ビジー状態ですか?少なくとも、彼はループに何らかの種類のスリープコールを入れることを推奨します。もしそれが許されていれば...そうでなければ、CPUを殺してバッテリーを落とします!空のループは**ほとんどのシステムリソースを使用しません**。プロセッサー(または少なくとも1つのコア)を常に100%の容量で稼動させます。 –

+0

@MattiVirkkunen私は彼が私に「スリープ」相当物を置くと思ったと思う。私はそれがそうでなければCPUを殺すだろうことを知っている。 – Garrett

+0

@MattiVirkkunenはい私はそれを仮定しました。 – FrostyFire

関連する問題