投稿者 魔界の仮面弁士  (社会人) 投稿日時 2011/9/13 13:09:30
> VBのコードで全てをまかなう方法はないでしょうか?
プログラムからの割り当ては、Vista 以降では ITaskService インターフェイスを利用します。
http://msdn.microsoft.com/en-us/library/aa381832%28VS.85%29.aspx

それより前の OS では、ITaskScheduler インターフェイスですね。
http://msdn.microsoft.com/en-us/library/aa381811%28VS.85%29.aspx


> 自分のソフトに実装したいのです。
「ACPI」という電源管理機構は御存知でしょうか。
電源状態に応じて、G0 とか G1 といったステータスがあります。

そして スリープ/スタンバイ/サスペンド などと呼ばれるのは S3、
休止状態/ハイバネーション などと呼ばれるのは S4 の状態です。

それぞれの細かい違いについては、ここでは省略しておきますが、
いわゆるスリープ状態では、そもそも CPU にすら給電されていません。
チップセット(メモリ以外)への電源供給すら止められていますので、
当然ながら、VB 製のアプリの実行も停止状態となっています。

それゆえ、今回のような要件ではハードウェア側の対応も必要となります。
また、アプリはシステム側から呼び出してもらう必要があるわけで、
そのためにタスクを利用できるというわけです。