时间不可控。。。

wangrenjie_jeny 2009-03-12 02:19:01
HANDLE hTimer;
hTimer=::CreateWaitableTimer(NULL,TRUE,"WaitForResume");
if(!hTimer)
{
MessageBox("Fail to create waitable timer!");
}
hTimer=OpenWaitableTimer(TIMER_ALL_ACCESS,TRUE,"WaitForResume");
LARGE_INTEGER liDueTime;
liDueTime.QuadPart=(Current_Plan.Sleep_time-Current_Plan.Wait_time)*1000*1000*(-10);//指定几秒钟唤醒
if(!::SetWaitableTimer(hTimer,&liDueTime,0,NULL,NULL,TRUE))
{
MessageBox("Fail to set waitable timer!");
}

想经过设定的时间让某个程序执行:具体是我将进入待机的系统设定上面设定的时间自己起来,从而进入休眠或关机;

短时间的设定是有效的,最长时间间隔为3分钟,为什么时间一长就无效呢?还请各位指点。。。
...全文
116 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
biweilun 2009-03-12
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 oyljerry 的回复:]
怎么乘以 -10? 数据是不是溢出了
[/Quote]
应该乘以-10没错
biweilun 2009-03-12
  • 打赏
  • 举报
回复
hTimer=OpenWaitableTimer(TIMER_ALL_ACCESS,TRUE,"WaitForResume");
这句话很多余。
你不妨参照:http://blog.csdn.net/caimouse/archive/2007/11/06/1870336.aspx
cnzdgs 2009-03-12
  • 打赏
  • 举报
回复
系统进入待机状态后,普通的程序就都被挂起了,所以程序的功能也无法实现。你可以借助计划任务来实现。
oyljerry 2009-03-12
  • 打赏
  • 举报
回复
怎么乘以 -10? 数据是不是溢出了

15,471

社区成员

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

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