setTimer定时器,第一次执行是不是没时间间隔的...

tx183584 2010-10-08 10:13:10
准备做个倒计时关机程序,但是不管时间设定多少,都会马上关机,不用setTimer怎么才能定时执行关机..
...全文
395 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
setforum 2012-01-11
  • 打赏
  • 举报
回复
我很郁闷,你们能解决就解决,不能解决就不要乱回,尤其是什么你不会什么 什么吗?简直就是废话,你愿意回答就回答,不愿意回答就别说那么多废话,浪费别人时间和精力,要是自己能解决谁来发帖,最近在csdn查资料,发现废话真多。
tx183584 2010-10-09
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 supersuperhunter 的回复:]

settimer是不是会马上发送WM_TIMER或调用一次timerproc我不是很清楚,MSDN好想也没说,不过我奇怪的是这种小问题,你不会debug吗,你不会spy++吗?
[/Quote]
我用delphi做界面,调用vc编的dll,dubug下就会出错,,
supersuperhunter 2010-10-08
  • 打赏
  • 举报
回复
另外建议用添加计划任务的方法实现功能(我不知道有什么api实现这功能,自己查,或者用system()加cmd指令at实现)
supersuperhunter 2010-10-08
  • 打赏
  • 举报
回复
settimer是不是会马上发送WM_TIMER或调用一次timerproc我不是很清楚,MSDN好想也没说,不过我奇怪的是这种小问题,你不会debug吗,你不会spy++吗?
tx183584 2010-10-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 luqinlive 的回复:]

UINT_PTR SetTimer(
HWND hWnd, // 窗口句柄
UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器
UINT uElapse, // 时间间隔,单位为毫秒
TIMERPROC lpTimerFunc // 回调函数
);
[/Quote]
没有错啊
luqinlive 2010-10-08
  • 打赏
  • 举报
回复
UINT_PTR SetTimer(  
 HWND hWnd, // 窗口句柄  
 UINT_PTR nIDEvent, // 定时器ID,多个定时器时,可以通过该ID判断是哪个定时器  
 UINT uElapse, // 时间间隔,单位为毫秒  
 TIMERPROC lpTimerFunc // 回调函数   
);
tx183584 2010-10-08
  • 打赏
  • 举报
回复
我是写在dll中的....
tx183584 2010-10-08
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 dingshaofengbinbin 的回复:]

那是你的timer用的不正确!!!
[/Quote]
TIMERPROC CALLBACK TimerProc(HWND hWnd,UINT nMsg,UINT nTimerid,DWORD dwTime)
{
ReSetWindows(dwTime,true); //自定义的实现重启,关机函数
return NULL;
}
extern "C" __declspec(dllexport) void setTime(int hours,int min,int i)//i代表执行的哪个操作
{
int time=(hours*60+i)*60;
SetTimer(NULL,NULL,time*1000,TimerProc(NULL,NULL,NULL,(DWORD)i));
}

dingshaofengbinbin 2010-10-08
  • 打赏
  • 举报
回复
那是你的timer用的不正确!!!

24,860

社区成员

发帖
与我相关
我的任务
社区描述
C/C++ 工具平台和程序库
社区管理员
  • 工具平台和程序库社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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