写了个监控文件生成的报警程序,要每隔1-5分钟分别监控5个文件夹,看看在最近10-30分钟内有无新文件生成(每个文件夹时间限制不同,正常时每分钟都有文件生成),没有则声音提醒
之前采用wm_timer来实现,但是权限太低,运行中有些语句无法执行,监控起来不完整
现在想要重新写一个,有人推荐用多线程,有人推荐用内核setwaitabletimer,本人基础不扎实,请教各位,用什么方法比较简单实用,最好附上代码,谢谢
之前采用wm_timer来实现,但是权限太低,运行中有些语句无法执行,监控起来不完整
现在想要重新写一个,有人推荐用多线程,有人推荐用内核setwaitabletimer,本人基础不扎实,请教各位,用什么方法比较简单实用,最好附上代码,谢谢
LARGE_INTEGER liDueTime;
BOOL bResult;
liDueTime.QuadPart = -100000000;//定时器定10秒
m_hTimeHandle = CreateWaitableTimer(NULL, TRUE, NULL);//创建waitable timer
bool bExit=false;
if (SetWaitableTimer(m_hTimeHandle, &liDueTime, 0, NULL, NULL, 0))
while(!bExit)
{
CFileFind finder;
res= finder.FindFile(("D:\\wprd\\*.*"));
CTime time1;CTime wTime;
CString wtime;
while(res)
{
res = finder.FindNextFile();
if (!finder.IsDirectory())
{
finder.GetLastWriteTime(wTime);
if(wTime>time1)
{
time1=wTime;
wtime = time1.Format("%H:%M:%S");
}
}
}finder.Close();
::SetDlgItemText(AfxGetMainWnd()->m_hWnd,IDC_TIME,wtime);
SleepEx(5*1000,true);我这么写了一个函数行不行?
第一次执行时文件夹里最新的修改时间是能显示了,但是5秒后再次执行就显示出空值,是循环的问题还是遍历的问题?