vc++中把文件监控作为windows服务

来源:百度知道 编辑:UC知道 时间:2024/07/16 10:49:05
小弟要用MFC做个媒体播放器,需要有文件监控的部分,而且还要把这个设为windows服务,我是个初学者,现在一点思路也没有,希望有经验的朋友们能给个思路或者一些有用的代码,哪怕是几个关键函数都行,谢谢各位了,回答的好我追加给分。
监控文件的功能基本会写了,怎么写成windows服务需要大家指点指点
难道没人会吗?

我提供个思路啊。你首先hook api函数,CreateFile()(同时设立一个数组,初始大小为0),监视这一行为,当CreateFile发生时,CreateFile的返回值如不=INVALID_HANDLE,则判断数组大小是否为0,如为0开始Hook CloseHandle()并插入数组,不为0只插入数组。当CloseHandle发生时,判断CloseHandle()的参数(句柄)与数组中元素有无匹配,如有,则说明有新文件完成了创建,此时应当把数组中的这个元素删除,并判断数组大小是否为0,是则停止Hook CloseHandle。这样就完成了文件的监控。
至于设为服务,你把程序的这一模块设置成开机自启动就可以了,可以通过操作注册表实现。我空间里有一篇文章是实现开机自启动的。