このページをはてなブックマークに追加このページを含むはてなブックマーク このページをlivedoor クリップに追加このページを含むlivedoor クリップ

目次

各種休止状態の特徴の比較

スリープ(スタンバイ、サスペンド)休止状態(ハイバネーション)ハイブリッドスリープ備考
データの保存先メモリHDDメモリ+HDD
省電力状態に入るまでの速さHDDにデータを退避させる場合はその分時間がかかる。
省電力状態からの復帰の速さHDDからデータを復帰する場合はその分時間がかかる。
省電力状態の電力消費の小ささ×メモリのリフレッシュを定期的にするので、常時電気を少しずつ食う。
電源が切れたときのデータ保持×電源が切れるとメモリのリフレッシュができなくなるためデータが消える。
OSWindows XPWindows XP/Vista/7Windows Vista/7

[補講]ノートPCの持ち歩きのときは、スタンバイではなく休止状態あるいはスリープにしておくとよい。スタンバイだと蓋を閉じたままでも、バッテリーの電力を消費してしまうからである。 ◇

[補講]ノートPCの「ハイブリッドスリープ」は上記と異なり、一旦スリープに入り、一定時間を経過するかバッテリーの容量が無くなると休止に入るという動作になる。 ◇

省電力状態に移行するのをプログラムで抑止する

  • Win32APIのSetThreadExecutionState()を用いる(一度だけでよい)。
  • 引数に指定できる値は次の通り。
ES_SYSTEM_REQUIRED&H1
ES_DISPLAY_REQUIRED&H2
ES_USER_PRESENT&H4
ES_CONTINUOUS&H80000000
  • 引数には、ES_SYSTEM_REQUIREDとES_CONTINUOUSを加算した値(ビットフィールド)を指定すればよい。
  • 省電力状態の抑止を解除するには、ES_CONTINUOUSを指定する。

例:VB.NETでスリープモードを抑止する方法はVB.NET/テクニック/スリープモード抑止を参照せよ。

スクリーンセーバーやモニターの電源OFFを抑止する

  • Win32APIのSetThreadExecutionState()をタイマーなどで定期的に実行する。 ◇
  • 指定する引数はES_DISPLAY_REQUIREDである。