首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

怎么用程序唤醒睡眠中的电脑

2013-06-19 
如何用程序唤醒睡眠中的电脑最近写了一个给小程序实现关机用了Window的API代码贴出,问题是如果我的电脑处

如何用程序唤醒睡眠中的电脑
最近写了一个给小程序实现关机用了Window的API代码贴出,问题是如果我的电脑处于睡眠(深度)状态下,这个程序就不会起作用了,请问有何解决办法,或者说有什么代码可以提前1分钟唤醒电脑,然后关掉!!

void CwzAutoOffDlg::OnTimer(UINT nIDEvent)
{
// TODO: 在此添加消息处理程序代码和/或调用默认值
CTime tm = CTime::GetCurrentTime();
m_StringTime.Format("%02d:%02d:%02d",tm.GetHour(),tm.GetMinute(),tm.GetSecond());
SetDlgItemText(IDC_CURRENTTIME,m_StringTime);
    //////////////////////////////////////////////////////////////////////

int hh=atoi(m_hour)-tm.GetHour();
int mm=atoi(m_min)-tm.GetMinute();
if(hh==0 && mm==0)
{
static HANDLE hToken;   
static TOKEN_PRIVILEGES tp;
static LUID luid;        
OpenProcessToken(GetCurrentProcess(),TOKEN_ADJUST_PRIVILEGES|TOKEN_QUERY,&hToken);
LookupPrivilegeValue(NULL,SE_SHUTDOWN_NAME,&luid);
tp.PrivilegeCount =1;
tp.Privileges [0].Luid =luid;
tp.Privileges [0].Attributes =SE_PRIVILEGE_ENABLED;
AdjustTokenPrivileges(hToken,FALSE,&tp,sizeof(TOKEN_PRIVILEGES),NULL, NULL);
       ExitWindowsEx(EWX_POWEROFF,0);    //调用关机函数
}
     CDialog::OnTimer(nIDEvent);
}

[解决办法]
你先理解下休眠状态下程序是什么状态吧   程序都还正常跑   那还叫休眠?
[解决办法]
没搞过,学习一下

热点排行