如何编程启用休眠

simonyuan 2008-12-11 04:45:48
想要在程序中使用电源管理的api启用休眠功能,就像windows命令powercfg /hibernate on所做的一样,哪位大侠知道的望不吝赐教,谢谢!
...全文
122 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
yhhxq 2008-12-18
  • 打赏
  • 举报
回复
http://www.windowskb.com/Uwe/Forum.aspx/windowsxp/169434/Disable-hibernate

http://support.microsoft.com/kb/293399
路人乙2019 2008-12-18
  • 打赏
  • 举报
回复
int xiumian()
{
TOKEN_PRIVILEGES tp;
HANDLE hToken;
LUID luid;
LPTSTR MachineName=NULL;
InitPwrModule();
BOOL fSuspend = FALSE;
if(!OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES,
&hToken ))
{
PERR("OpenProcessToken", GetLastError() );
return 0;
}
if(!LookupPrivilegeValue(MachineName, SE_SHUTDOWN_NAME, &luid))
{
PERR("LookupPrivilegeValue", GetLastError() );
return 0;
}
tp.PrivilegeCount = 1;
tp.Privileges[0].Luid = luid;
tp.Privileges[0].Attributes = SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken, FALSE, &tp, sizeof(TOKEN_PRIVILEGES),
NULL, NULL );
SetSystemPowerState(fSuspend,TRUE);
}
simonyuan 2008-12-12
  • 打赏
  • 举报
回复
up
simonyuan 2008-12-11
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 oyljerry 的回复:]
http://msdn.microsoft.com/en-us/library/aa373163(VS.85).aspx
[/Quote]
谢谢!我已经在那儿找了半天了,没有进展,网上搜了一下,也没有找到线索。
oyljerry 2008-12-11
  • 打赏
  • 举报
回复
http://msdn.microsoft.com/en-us/library/aa373163(VS.85).aspx
simonyuan 2008-12-11
  • 打赏
  • 举报
回复
直接调用命令行是可以做,研究了半天MSDN关于电源管理的api还是没有找到使用api方法有点心不甘
oyljerry 2008-12-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 simonyuan 的帖子:]
想要在程序中使用电源管理的api启用休眠功能,就像windows命令powercfg /hibernate on所做的一样,哪位大侠知道的望不吝赐教,谢谢!
[/Quote]
有命令行了,其实也可以代码中直接调用命令行..
simonyuan 2008-12-11
  • 打赏
  • 举报
回复
如果你没有启用休眠功能,这个SetSuspendState()是没有用的。
饶鹏 2008-12-11
  • 打赏
  • 举报
回复
多用搜索啊,CSDN上就有

SetSuspendState()

2,640

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧