最終更新: 2011-11-30T12:36+0900
Vistaの新機能:ハイブリッドスリープを有効にしているのに、Vistaになって新設された /h オプションで休止状態にはできてもスタンバイ(ハイブリッドスリープ)にはできない。
なんだってこんな基本的なことができないんだろう。マウスを使わせようとするな。キーボードを使わせようとするな。
#! rubyw require 'Win32API' SetSuspendState = Win32API.new('powrprof.dll', 'SetSuspendState', %w(i i i), 'i'); SetSuspendState.call( 0, # hibernate: S4(TRUE) or S3(FALSE) 0, # force: アプリケーションに事前に通知(PBT_APMQUERYSUSPEND)しない(TRUE)。通知する(FALSE)。 0 # disableWakeEvent: イベントによる復帰を許可しない(TRUE)。許可する(FALSE)。 );
rundll32.dllが要求する仕様を知っていますか?乱用されてもクラッシュせず黙って耐える rundll32.dllのことを知ってあげてください。