100求一定时执行的程序代码 要求如下:一直运行,占系统资源少;到达指定的时间,运行相应程序。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 typedef UINT (CALLBACK* TIME_FUN)(LPVOID);DWORD StartTime ;DWORD CurrentTime ;DWORD IntervalTime;TIME_FUN TimeFun ;LPVOID Buffer ;// 启动void StartTimer(DWORD interval,TIME_FUN fun,LPVOID pParam){ StartTime = GetTickCount() ; IntervalTime = interval ; TimeFun = fun ; Buffer = pParam ;}// 执行过程void TimerProess(){ CurrentTime = GetTickCount() ; if((CurrentTime-StartTime) > IntervalTime) { TimeFun(Buffer) ; StartTime = GetTickCount() ; }}// 执行函数UINT CALLBACK MyTimer(LPVOID param){ printf("%s\n",(char*)param); return 0;}int _tmain(int argc, _TCHAR* argv[]){ StartTimer(2*1000,&MyTimer,"楼主在找我吗?"); while(true) { TimerProess(); Sleep(15L); } cin.get(); return 0;} :)翻腾出来的小玩意,Buffer指向的是个区域变量,实际用要给它分配内存并且memcpy(); 定时器就可以简单实现,不过优先级比较低单独的线程在判定时间条件满足时SetEvent也可以方法其实还是蛮多的 方法1:创建一个隐藏的窗口,然后对该窗口SetTimer,在WM_TIMER消息里处理任务。方法2:CreateWaitableTimer(),这是系统级别的高精度定时器,不过你必须再创建一个线程来异步调用你的任务,控制复杂些 newkt 意如流水编译连接时出错,什么原因呀?--------------------Configuration: test - Win32 Debug--------------------Compiling...test.cppLinking...LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _mainDebug/test.exe : fatal error LNK1120: 1 unresolved externalsError executing link.exe.Creating browse info file...test.exe - 2 error(s), 0 warning(s) 找不到main函数或者工程类型不对... VS2010 中DockPane的布局问题 高分求解决此问题,关于zlib编译的问题? 收到南京中软的面试通知 有懂硬盘ATA指令的人吗?校验扇区的操作码是什么? 请教关于vc模拟post表单的问题 求思路,急用,关于光标的网格吸附功能,谢谢 问一个入门级的问题关于MFC的输入框 c++程序问题? 刚下了VA_X_Setup1929文件发现提示的 WinMain 函数定义的不一样了 如何使一个CView窗口在弹出的时候自己规定他的大小?( 请详细介绍) 在对话框的区域内变换鼠标 高分求教 一个93年开发的工程的疑问
typedef UINT (CALLBACK* TIME_FUN)(LPVOID);DWORD StartTime ;
DWORD CurrentTime ;
DWORD IntervalTime;
TIME_FUN TimeFun ;
LPVOID Buffer ;// 启动
void StartTimer(DWORD interval,TIME_FUN fun,LPVOID pParam)
{
StartTime = GetTickCount() ;
IntervalTime = interval ;
TimeFun = fun ;
Buffer = pParam ;
}// 执行过程
void TimerProess()
{
CurrentTime = GetTickCount() ;
if((CurrentTime-StartTime) > IntervalTime)
{
TimeFun(Buffer) ;
StartTime = GetTickCount() ;
}
}// 执行函数
UINT CALLBACK MyTimer(LPVOID param)
{
printf("%s\n",(char*)param);
return 0;
}int _tmain(int argc, _TCHAR* argv[])
{
StartTimer(2*1000,&MyTimer,"楼主在找我吗?"); while(true)
{
TimerProess();
Sleep(15L);
}
cin.get();
return 0;
}
单独的线程在判定时间条件满足时SetEvent也可以
方法其实还是蛮多的
方法2:CreateWaitableTimer(),这是系统级别的高精度定时器,不过你必须再创建一个线程来异步调用你的任务,控制复杂些
意如流水
编译连接时出错,什么原因呀?
--------------------Configuration: test - Win32 Debug--------------------
Compiling...
test.cpp
Linking...
LIBCD.lib(crt0.obj) : error LNK2001: unresolved external symbol _main
Debug/test.exe : fatal error LNK1120: 1 unresolved externals
Error executing link.exe.
Creating browse info file...test.exe - 2 error(s), 0 warning(s)