iPhoneやiPadの「時計」アプリに含まれるタイマー機能には、設定した時間が経過したら音楽再生を停止するという機能がある。

音楽を聴きながら眠りたいときには大変便利な機能である。
ただ、 残念なことにWindowsには同様の機能が存在しない。 枕元に置いたWindowsのノートPCでも同じようなことをやりたいのだが、調べ方が悪いのかめぼしい情報は見当たらなかった。
ぱっと思いつく方法としては、Windowsの省電力設定で、一定時間が経過後スリープするように設定すれば実現できるように思える。しかし、たいていの音楽再生ソフトは再生中にスリープに入らないような制御をしているため、実際には有効に機能しない。
機能が無いなら作ってしまえばいいと言うことで、C#で適当にツールを作った。

C#(というか、.NET Framework)は便利なもので、システムをスリープに移行するためのメソッドが用意されているので、ただこれを呼び出せば良い。
Application.SetSuspendState(PowerState.Suspend, false, false);
今時Windows Formsだし、例外処理も何もしていないし、ただ動けばいいという感じの適当なツールだが、一応バイナリとソースコード(Visual Studioのプロジェクトファイル一式)をzipで公開しておく。GitHub?なにそれおいしいの?
コメント