7

是否有任何 Win32 API 可将机器置于休眠或挂起模式?

我阅读了 MSDN,发现WM_POWERBROADCAST发生电源管理事件时会广播消息。我想用PostMessage(WM_POWERBROADCAST). 这是正确的做法还是存在任何 Win32 API 来实现这一点?

4

3 回答 3

12

退房 SetSuspendState

请注意,您需要 SE_SHUTDOWN_NAME 权限,如引用的 msdn 页面中所述。

于 2009-06-06T12:30:59.267 回答
1

正如 Ben Schwehn 所发布的,SetSuspendState 是要走的路。在 win95 上,您应该调用 SetSystemPowerState。您还可以调用 IsPwrSuspendAllowed 和 IsPwrHibernateAllowed 或 GetPwrCapabilities 来判断机器是否支持挂起/休眠。

于 2009-06-09T17:22:18.860 回答
0

在 Windows 窗体应用程序中,使用 SetSUspendState (http://msdn.microsoft.com/fr-fr/library/system.windows.forms.application.setsuspendstate.aspx) 方法。第一个参数允许您在 SUspend 和 Hibernate 之间进行选择。

对于非 Windows 窗体应用程序,直接调用 Win32 API:SetSuspendState 函数位于 powrprof.dll 文件中。

于 2013-01-10T23:01:45.333 回答