2009-09-28 29 views
5

我希望能够以编程方式确定Vista系统出于待机状态(S3)的原因。任何语言都可以,但.NET是最好的。我正在将这些代码放入我正在处理的应用程序中。我怎样才能确定机器出于暂停的原因?

我正在寻找像“媒体中心想记录一个程序”,“用户输入唤醒机器”,“Windows更新计划运行”之类的原因。我在Google,Bing和MSDN上搜索过,但我只能找到与Windows Mobile相关的东西。

任何人都可以指向一个可以提供此信息的函数或对象吗?

+0

所以,你要将其嵌入到您正在编写的程序中,还是仅仅需要一个能够为您提供此信息的实用程序? – Argalatyr 2009-09-28 22:59:02

+0

我怀疑你可以根据自己的喜好获得具体的信息。尽管如此,您可能能够从系统日志中获取导致挂起发生的模块的名称。 – 2009-09-28 23:05:36

回答

1

的顶层窗口醒来的时候得到了WM_POWERBROADCAST消息,但你只能知道它是自动的(媒体中心,Windows更新等)或用户(按电源按钮等)

+0

这可能够好。如果系统日志中出现了某种情况,它可能会发生什么,那么我认为我可以一起破解一些东西。 – 2009-09-29 13:37:14