如何确定机器暂停的原因?

Jef*_*ock 5 power-management windows-vista standby

我希望能够以编程方式确定Vista系统退出待机状态的原因(S3).任何语言都可以,但.NET最好.我希望将此代码放入我正在处理的应用程序中.

我正在寻找诸如"媒体中心想要录制节目","用户输入唤醒机器","Windows更新计划运行"等原因.我搜索了Google,Bing和MSDN,但我只能找到与Windows Mobile相关的内容.

有人能指出我可以提供这些信息的功能或对象吗?