定时器使用的一些小问题

ouyangzhongwen ouyangzhongwen 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
在下想通过定时器实现这样一个功能,
将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;
}
...全文

相关推荐

评论 11
收藏 已收藏
分享
返回顶部
ouyangzhongwen
界面 15,976 成员 115,866 内容