WinRTで、バッテリーに関する情報を取得する方法はありますか?つまり、デスクトップの通知領域に表示される同様の情報:残り時間、残りの割合、残りの割合など。
1188 次
2 に答える
3
WinRTで利用できるAPIはありません-私は約1か月前にこれを調査してきました。
ロビンヤンがMSDNの議論で述べたように:
GetSystemPowerStatus APIは、システムの電源ステータスを取得するために使用されます。ステータスは、システムがAC電源で動作しているかDC電源で動作しているか、バッテリーが現在充電中であるかどうか、およびバッテリーの残りの寿命を示します。
それはあなたのニーズを満たすことができるようです。ただし、このAPIは「デスクトップアプリのみ」に適用されます。
于 2012-11-05T08:24:14.717 に答える
0
そのような情報にアクセスできないのは残念です。おそらく、スケジュールされたタスクでローカルストレージにステータスを書き込むことが、現在の唯一のオプションです:-(
それはあなたが店の認証を取得することができたとしても、それを行うための非常にユーザーフレンドリーな方法ではないと思います。
FOR /f %i IN ('whoami') DO set userId=%i
FOR /f %i IN ('dir /s/b %localappdata%\packages\\localcache ^| find "MyBatteryApp"') DO set appFolder=%i
echo Return = WScript.CreateObject("WScript.Shell").Run("cmd /c ""WMIC PATH Win32_Battery Get EstimatedChargeRemaining > %appFolder%\MyBatteryApp.txt""", 0, true) > %appFolder%\battery.vbs
echo ^<?xml version="1.0" encoding="UTF-16"?^>^<Task version="1.2" xmlns="http://schemas.microsoft.com/windows/2004/02/mit/task"^>^<Triggers^>^<TimeTrigger^>^<Repetition^>^<Interval^>PT15M^</Interval^>^<StopAtDurationEnd^>false^</StopAtDurationEnd^>^</Repetition^>^<StartBoundary^>2014-01-01T00:00:00^</StartBoundary^>^</TimeTrigger^>^<SessionStateChangeTrigger^>^<StateChange^>SessionUnlock^</StateChange^>^<UserId^>%userId%^</UserId^>^</SessionStateChangeTrigger^>^</Triggers^>^<Settings^>^<DisallowStartIfOnBatteries^>false^</DisallowStartIfOnBatteries^>^</Settings^>^<Actions^>^<Exec^>^<Command^>wscript^</Command^>^<Arguments^> //B //nologo %appFolder%\battery.vbs^</Arguments^>^</Exec^>^</Actions^>^</Task^> > %tmp%\batterySetting.xml
schtasks /create /tn "MyBatteryApp" /xml "%tmp%\batterySetting.xml"
于 2014-02-18T23:47:22.543 に答える