画面をオフにしてバックグラウンドで実行できるが、Surface Pro がスリープ状態にならないようにするアプリケーションを作成したいと考えています。基本的に、私はオーディオ ブック プレーヤーを持っていますが、画面をオフにしてオーディオ ブックを聴き、電力を節約しようとするとすぐに、Surface がスリープ状態になります。実際、スリープを防ぐ方法を知っている唯一の方法は、ディスプレイをオンにしておくことですが、電力を節約したいので、明らかにそうしたくありません。このため、DisplayRequest クラスはこの問題の良い解決策ではありません。
3 に答える
はい、これは可能です。たとえば、時計アプリを作成したい場合、同じことを達成したいと思うでしょう。このブログ投稿では、プロセスについて説明しています: http://blogs.msdn.com/b/windowsappdev/archive/2012/05/16/being-productive-when-your-app-is-offscreen.aspx?wa=wsignin1 .0書いておけばよかった。
では、基本的にバックグラウンド オーディオを実行しようとしているのでしょうか。これを有効にするには、メディア コントロール オブジェクトに 4 つのイベント ハンドラーを登録し、マニフェストでバックグラウンド オーディオを有効にする必要があります。ここで同様の質問に答えました。バックグラウンド オーディオの詳細については、ドキュメント ( XAML | HTML/JS) を参照してください。JS のトピックについては、著書の第 10 章でも取り上げています。
バックグラウンド オーディオはバックグラウンド タスクの特別なクラスであり、アプリ全体を常に実行している場合よりも多くのデバイスをスリープ状態にできることを理解しておくと役に立ちます。これにより、画面をオフにして (直接イベント)、オーディオを引き続きボリューム コントロールと再生/一時停止コントロールに応答させることができます (Surface タッチ キーボードのように)。
クレイグ
そのボタンは実際には画面をオフにしません。システムにスリープを指示し、ルーチンの一部として画面をオフにします。
「nircmd.exe」というプログラムを Google で検索し、ダウンロードして Windows フォルダーに配置した後、コマンド「C:\Windows\nircmd.exe monitor off」を使用して、デスクトップなどにショートカットを作成できます。オフにしておくのは少し面倒ですが(カバーを閉じると、何らかの理由で画面がオンに戻ります)、機能します. 電源オプションを設定して、わずか 1 分間のアイドル状態で画面をオフにすることもできます。
Surface Pro には、1 分間放置すると自動的にスリープ モードになるという別の問題があると思いますが、メディアを再生すると正常に動作する可能性があります。また、電源オプションが可能な限り節約できるように設定されていることを確認することもできます。これにより、消費電力が 6 ワット (おそらく 6 時間) に抑えられるはずです。