2013-02-15 95 views
2

我想創建一個應用程序,可以在後臺運行,關閉屏幕,但防止Surface Pro睡覺。從本質上講,我有一個有聲書籍播放器,但只要我關閉屏幕以收聽音頻書籍並試圖節省電量,Surface就會進入睡眠狀態。事實上,我知道如何防止睡眠的唯一方法就是保持顯示,但我明確不想這樣做,因爲我想省電。因此,DisplayRequest class不是解決此問題的好方法。防止表面臨睡

+4

大聲笑,我稍微誤解了標題... [舊錶面](http://cloudfront3.bostinno.com/wp-content/uploads/2012/05/Microsoft-Surface-pic.jpg)是東西我可以很容易想象在睡着:) – 2013-02-15 19:30:14

+0

哈,最好誤讀了SO! – staticfloat 2013-02-15 19:57:46

回答

0

你基本上是在嘗試做背景音頻嗎?要做到這一點,您需要確保向媒體控制對象註冊四個事件處理程序,並在清單中啓用背景音頻。我只是answered a similar question here,關於背景音頻的更多信息可以在文檔中找到(XAML | HTML/JS)。我還在my book的CHAPTER 10中介紹了JS的主題。

理解背景音頻是一類特殊的後臺任務是有幫助的,它可以讓更多的設備進入睡眠狀態,而不僅僅是讓整個應用程序始終運行。它將允許您關閉屏幕(直接事件),並讓音頻仍然響應音量控制和播放/暫停控制(如在Surface觸摸鍵盤上)。

。克雷格

+0

不完全。我實際上想製作一個通用的電源管理應用程序,這使我可以在其他應用程序打開時保持設備清醒。這個應用程序鼓舞人心的是Audible,它在我按下電源按鈕關閉屏幕/關閉翻蓋關閉屏幕時關閉。我想製作一個後臺進程,讓設備保持喚醒狀態,以便其他沒有內置此功能的應用程序保持喚醒狀態。 – staticfloat 2013-02-15 20:56:48

+0

另外,我認爲您的書至少還有一個閱讀器! – staticfloat 2013-02-15 20:58:20

+0

在這種情況下,Audible將不得不實施背景音頻支持。 Windows商店應用無法讓其他Windows應用商店應用暫停。 – Denis 2013-02-15 22:01:46

0

是的,這是可能的。說,你想寫一個時鐘應用程序,你會想完成同樣的事情,對嗎?這篇博文將引導你完成整個過程:http://blogs.msdn.com/b/windowsappdev/archive/2012/05/16/being-productive-when-your-app-is-offscreen.aspx?wa=wsignin1.0我希望自己寫過。

+0

傑裏,這個鏈接很好,但我無法精確地縮小我想要的。也許我有一些誤解,讓我嘗試和更詳細地解釋一下:我想編寫一個應用程序,允許關閉表面的屏幕,但所有其他應用程序繼續運行。我知道我可以在後臺繼續我的流程,但我想創建一個實用程序來模擬將這些權限授予其他進程,因此最簡單的第一種解決方案是在關閉蓋子時不進入睡眠狀態。 – staticfloat 2013-02-18 19:28:42

0

該按鈕實際上並沒有關閉屏幕。它所做的是告訴系統進入睡眠狀態,這將關閉屏幕作爲日常工作的一部分。

你可以谷歌一個名爲'nircmd.exe'的程序,下載它並將它放在你的Windows文件夾後,你可以使用命令'C:\ Windows \ nircmd.exe monitor off'在你的桌面或其他。 保持關閉有點挑剔(出於某種原因,關閉蓋子會重新打開屏幕),但它有效。您也可以設置電源選項,以便在空閒一分鐘後關閉屏幕。

我認爲Surface Pro有另一個問題,讓它靜置一分鐘會自動將其發送到睡眠模式,但播放媒體可能會使其正常工作。 您還可以確保您的電源選項設置爲最可能的節省,並且應該達到6瓦的排水量(可能需要6小時的讀數)。