Windowsの積極的なバッテリーセーバー







バッテリーが半減した古いラップトップの所有者として、電源なしで長時間使用することを非常に心配しています。 Windowsにはエネルギーを節約するための強力なツールがあることを知って、できる限り便利に使用することにしました。 結果をあなたと共有したいと思います。







Windows電源管理

現代のラップトップのバッテリー寿命の観点から、現在の状況についてはあまり知りません。 MacBookに対抗できる人はほとんどいないと思いますが、私のサービスの結果としてWindowsを使用しているため、私の状況は非常に悪いです。 Windowsでの不満足な作業時間についてのフィードバックは特に聞かれません。 最新のデバイスはかなり許容可能な労働時間を提供するように思われるか、すべての使用シナリオで近くにコンセントがあります。













それにもかかわらず、学生であり、それほど進歩していないラップトップの所有者として、私は省エネの問題について真剣に心配しています。 Windows 7以降には、3つの定義済みスキームがある電源管理サブシステムがあります。







  • 高性能(省エネに関するすべての制限を取り除きます)
  • 省エネ(充電に費やす可能性のあるものはすべて積極的に抑制し、アプリケーション間の切り替え時の応答性が大幅に低下します)
  • バランスのとれた


後者はデフォルトで設定されています。 ミドルポジションに満足せず、ネットワークからの作業時に最大限のパフォーマンスとバッテリー電源の使用時に最大限の寿命が必要な場合は、電源をオフにしたときに省エネ回路を取り付け、接続し直したときに- 高性能ですか? しかし、ありません。 自動的に切り替える直接的な方法はありません。 独自の電源設定を作成し、その内部で2つのシナリオのリソースの使用を構成できます。 しかし、このウィンドウで20分を過ごしたい人はいますか?













さらに、エネルギーを節約するための素晴らしいボタンがWindows 10に登場しましたが、私が知る限り、その効果はUWPアプリケーションのバックグラウンドアクティビティをブロックすることだけにまで及び、あまり面白くありません。













解決策



この方法で初めて電源コードを開いたときは、電源コードを外したり、再び差し込んだりするたびに。 1日に数十回の日常的なアクティビティになるまで、まったく無害に見えます。













その後、心が跳ね上がり、batファイルを使用して、特定の電源管理スキームを含むコンソールで簡単なコマンドを実行するようになりました。













それにはもっと時間がかかりましたが、私がやっていることの野graduallyさを徐々に意識し、眠れない夜にシステムイベントをリッスンし、電源モードを変更するときに特定の電源スキームをアクティブにする単純なWinFormsアプリケーションをC#で作成しました。













実装では、タイマーさえも回避されました。これは、アプリケーションがシステムのパフォーマンスに実質的に影響を与えず、常に実行されることを意味します。







システムイベントのハンドラーを切断します。







SystemEvents.PowerModeChanged += OnPowerModeChanged;
      
      





そして、ハンドラー自体を作成します。







 private void OnPowerModeChanged(object sender, PowerModeChangedEventArgs e) { if (e.Mode == PowerModes.StatusChange) { switch (SystemInformation.PowerStatus.PowerLineStatus) { case PowerLineStatus.Online: DisablePowerSaving(); break; case PowerLineStatus.Offline: EnablePowerSaving(); break; } } }
      
      





すべてが平凡でシンプルです。 モードの切り替えは、コマンドラインでpowercfg



ユーティリティをpowercfg



すると、必要な電源設定にGUIDが渡されたときに発生します。







 private void EnablePowerSaving() { RunCmdCommand("powercfg /setactive a1841308-3541-4fab-bc81-f71556f20b4a"); }
      
      





すべてのコードは非表示のフォームから実行され、モードの変更に関するメッセージはロシア語と英語にローカライズされています。 プログラムは、スタートアップフォルダーにコピーすることで自動ロードされます。リポジトリには、このための特別なbatnikもあります。







→ところで、ここにリポジトリがあります







アプリケーションはWindows 10でテストされ、Windows 7以降で正常に動作するはずです。 Windows XPおよびVistaでは、スタートアップフォルダーへのパスに問題があります。 ご要望があれば、サポートを追加します。







ご清聴ありがとうございました。 これは私の最初の投稿であり、コードと記事のデザインを批判することを心から嬉しく思います。








All Articles