1か月くらい前にPC用の地デジチューナGV-MVP/XZ2を買ったのですが、これの予約録画で『指定時間に休止状態からの復帰→録画→休止状態』という機能があるのを知りました。今まで休止状態からは自動復帰はできないと思い込んでいたのですが、調べてみるとタスクスケジューラを使うか、WaitableTimer(Win32 API)を使えば自動復帰できるようでした。今回、わざわざダウンローダを作ろうと思ったのは、上の機能を試したかったからだったりします。最初はタスクスケジューラ版でサンプルを作っていたのですが、Windowsのバージョンにより実装方法を考える必要があったりして、結構面倒だったため、WaitableTimerの方で実装することにしました。WaitableTimerは、呼び出し元のプログラムが起動している必要があるのですが、今回作るダウンローダでは、特に問題ないため、こちらを使うことにしました。Win32 APIですが、処理がシンプルなのでタスクスケジューラを使うより楽です。とりあえず、サンプルができたため、ダウンローダの方に組み込んでいこうと思います。GV-MVP/XZ2についてですが、録画・視聴ソフトのmAgicTVがかなり出来が悪いためあまりお勧めできません。[追記:2012/03/31] 中断しました。
[WaitableTimerのテスト]
[参考] pinvoke.net: CreateWaitableTimer (kernel32)pinvoke.net: SetWaitableTimer (kernel32)MSDN: CreateWaitableTimer MSDN: SetWaitableTimer