スクリプトでスリープを抑止する。
Vistaでは、なんでも、WM_POWERBROADCASTのPBT_APMQUERYSUSPENDが来ないらしく、BROADCAST_QUERY_DENYが返せないとか。
代わりに、SetThreadExecutionState()を出しておけとか。
SetThreadExecutionState()関数の解説記事によれば、
「ローカルのキーボードまたはマウスによる入力、サーバーアクティビティ、ウィンドウフォーカス切り替えなどのアクティビティは、システムで自動的に検出されます。」
ならば、スクリプト的には、
SleepDenier.vbs
set wshell=createobject("wscript.shell")
do while wshell.popup("Sleep 抑止中 ...",60,"Sleep Denier",)=-1
wshell.sendkeys "%{tab}"
loop