定时器使用的一些小问题
在下想通过定时器实现这样一个功能,
将buffer中的数据写入文件file1.txt中( 假设这个操作可能会引起file2.txt的变化 ),接着监视file2.txt到底有没有变化。
1)、在 1 s 内 file2.txt没有变化,则将buffer内容再次写入文件。
2)、在 1 s 内 file2.txt有变化,则停止计时。
现在我的问题是:
1)、如何能够直接捕捉到WM_TIMER消息,在程序尾部下划线部分如何写代码呢?
2)、当程序在响应WM_TIMER时,会同时继续执行当前函数吗?
int CARQDlg::SendBuffer()
{
CFile file1,file2;
file1.Open("file1.txt",CFile::modeCreate | CFile::modeWrite );
file1.Write(buffer); //发送数据
SetTime(TIMER,1000,0); //设置定时器
file2.Open("file2.txt",CFile::modeCreat | CFile::modeRead );
int FileLength=0; //存file2文件上一次长度
int flag; //文件长度比较标志
do
{
if(file2.GetLength()>FileLength)
{
flag=1;
FileLength=file2.GetLength();
KillTimer( TIMER );
}
else
flag=0;
}while(flag==0&&没有WM_TIMER消息);
return flag;
}