我现在想在windows系统下做一个程序,对我的共享文件进行监视,要能知道都有谁正在复制我的文件,或者察看我的文件内容和文件属性????我在网上看见过有文件监视的,现在想自己做一个,请问具体是怎么实现的啊?〉
解决方案 »
- 明天回家,快一年没回家了,好兴奋啊!也祝同仁们一路平安,新年快乐!
- 线程SetTime函数执行出错!
- 许多函数都加了Ex后缀,不知道是什么意思, 有什么不同呢?
- 大家谈谈如何使用GDI+好么(朋友们都来啊)
- 很简单的问题:如何给一个基于类的对象数组进行初始化?
- 誰能介绍几个比较好的关于VC编程的英文网址。
- 在线跪求!如何获得证书指纹?
- 在VC中,定义的宏能够执行多条语句吗?
- 如何才能快速的学好vc++
- >>>>>请问c函数qsort最多可以排序多大的缓冲区???<<<<<<
- ~~~~~~~~~~~~~~~~~~~~~请问如何编写dos下的.bat文件吗?请给出具体步骤,谢谢~~~~~~~~~~~~~~~~~~~~~~
- 如何得到任意程序的位置。?
可以看看filemon
NetSessionGetInfoNetShareEnum
NetShareGetInfoNetFileEnum
NetFileGetInfo
创建一个监控句柄,然后利用WaitForMultipleObjects来监视文件是否发生变化(循环判断文件的更新时间是否发生变化)。HANDLE FindFirstChangeNotification(
LPCTSTR lpPathName, // pointer to name of directory to watch
BOOL bWatchSubtree, // flag for monitoring directory or
// directory tree
DWORD dwNotifyFilter // filter conditions to watch for
);DWORD WaitForMultipleObjects(
DWORD nCount, // number of handles in the handle array
CONST HANDLE *lpHandles, // pointer to the object-handle array
BOOL fWaitAll, // wait flag
DWORD dwMilliseconds // time-out interval in milliseconds
);具体请参阅msdn
>当然对我的文件进行复制时候,就自动弹出一个窗口让我确认了,对方才能进行复制我原来仔细看过 NetBlock 这个 shareware 的功能,我认为它就是定时刷新的方式使用 NetSessionEnum 和 NetFileEnum NetShareEnum 获得“实时”的共享和连接情况。对你说的情况其实就是当发现有新的“连接”或者访问的时候提示用户,并在用户要求断开连接的时候用
NetSessionDel 或 NetFileClose/NetFileClose2
来实现。
这里有很多例子
http://www.mvps.org/win32/index.html
看看左边那一帧,呵呵
的确是这样的,我发了以后才发现说的有点驴唇不对马嘴,不好意思了!
*^_^*