休止を使うようにした

が長くなってきたので続き。


休止モードでうまくいくようになってきた。
PLUMAGEの設定で「復帰時間 開始○○分前」の設定があるけど、これがデフォルトで15分になってる。

今はこの設定を「5分」に設定して試してる。その理由は、録画終了後「録画できてるかなー」と思ってPCを復帰させてデスクトップを見てみると、この画面が表示されていて、録画が失敗しているから。

録画中、または次回予約の開始直前です。
このまま休止状態に移行してもよろしいですか?

この画面は、録画開始間近の状態で休止やスタンバイに移行しようとしたときに表示されるもの。この画面が出ていると録画が実行されないみたい。


で、どうしてこの画面が表示されてしまうのか悩んでたんだけど、いろいろ検索してるうちにこれがでてきた。

Microsoft Windows XP ベースのコンピュータが休止状態から再開 (ウェイクアップ) した後、コントロール パネルの [電源オプション] の設定とは関係なく、非アクティブな状態が 5 分間続くと再度休止状態になることがあります。

Windows XP ベースのコンピュータで休止状態から再開した後、無通信タイマが 5 分に設定される

復帰してもinactiveな状態が続くと、自動的にまた休止しようとするみたい。バッテリ使ってるわけでもないのに、いらんことを...。
で、inactiveってどういう状態なんだろうと思ったけど、SetThreadExecutionState() てのがあるみたい。

アプリケーションが実行されていることをシステムに通知し、アプリケーションの実行中にシステムが電源のスリープ状態に入るのを防ぎます。

SetThreadExecutionState 関数

今度試してみる。

2008-05-29 スタンバイから復帰したときにディスプレイがoffである理由

スタンバイ状態から復帰するときの動き。

  • 電源ボタンを押して復帰 → ディスプレイON
  • 録画時間が近づいて自動的に復帰 → ディスプレイOFFのまま

考えてみれば当たり前だった。
ふつうの環境はPCにモニタが繋がっているものだから、深夜に録画がはじまるたびにディスプレイの電源がonになったら迷惑すぎる。
その状態のときにVNCで接続すると画面が真っ黒な理由とか、リモートデスクトップで接続できない件はまた別かもしれないけど。
SetThreadExecutionState()は今晩試す。

2008-05-29 21:30 SetThreadExecutionState()を試した

スタンバイ(S3)から復帰したときに

SetThreadExecutionState(ES_DISPLAY_REQUIRED); 

よぶようにしたら、復帰してすぐに画面が表示されるようになって、再び勝手にスタンバイに移行することもなくなった。
今日は、1時間置きに5分録画して休止する動作を10回繰り返すように仕掛けてたんだけど、全部成功してた。
もう大丈夫そう。


つぎの電気代の請求がちょっと楽しみだ。

2008-05-29 23:00 S3/S4/S5の状態からの起動

録画ができるようになったので、次はリモートからの起動。
ターゲットのPCでwake on lanのMagic Packetを受け取れるように設定。デバイスマネージャからNICバイスのプロパティを開けばGUIで簡単に設定できる。

Magic Packetの送信はphpで。↓ここらへん参考に。

うまくいった。