2012-05-01 10 views
1

私は、1日の特定の時刻に省電力処理を実行するために必要なWindowsサービスプログラム(C++を使用して書かれています)を持っています。私は、電源操作が実行されたときにユーザが端末にいて、もしそうであればそれを延期するかどうかを知る必要があります。ですから、私の質問は、Windowsサービス(ローカルシステムとして実行)からの最後のユーザーアクティビティの瞬間をどのように知っていますか?Windowsサービスから最後のユーザーアクティビティを知ることは可能ですか?

PS。ユーザー活動とは、キーボードとマウスの活動を意味します。

答えて

1

各ユーザセッションでは、セッション内でサービスと通信するバックグラウンドアプリを実行する必要があります。アプリは最後のアクティビティ時間をレポートして、サービスがそれに基づいて決定を下すことができます。

+0

ええ、それは私が思ったものです。しかし、2つの問題があります:1.(主なもの)デスクトップが単なるアプリケーションの場合、Windows 8とMetroのインターフェースではまだ可能ですか? 2.リモートセッションがある場合、またはユーザーがCtrl + Alt + Delを押してログオン画面を表示した場合、私はそのセッションでバックグラウンドアプリを実行できないと思いますか? – ahmd0

0

決定性に依存して、タスクスケジューラを使用することができます。これは、コンピュータがアイドル状態のときにタスクを起動し、しばらく待ってから開始します。開始するには手動でタスクを追加してからuse the APIを追加します。

Task Scheduler power settings

関連する問題