私のアプリケーションは、Win32 SetSuspendState()
API を使用して、時間のかかるタスクの終了時にシステムのサスペンドまたは休止状態をトリガーします。
API は、システムがすぐに中断するかどうか、またはPBT_APMQUERYSUSPEND
最初にブロードキャストして他のアプリが中断をキャンセルできるようにするかどうかを決定する "ForceCritical" パラメーターを受け入れます。私のアプリはこれを使用して、Media Player などの他のアプリとうまく連携するため、音楽などを聴いている場合でも停止しません。
何らかの理由で、Vista 以降、MS は変更を加えたため、このパラメーターは無視されるため、SetSuspendState
すぐにサスペンドが発生し、他のアプリケーションはそれを停止する機会がありません。
Vistaで望ましい「丁寧な」動作を取り戻す方法を知っている人はいますか?