除了使用Delete测试文件已经被打开以外,还有用写的方式打开它

解决方案 »

  1.   

    FindFirstChangeNotification
    if(dwChangeHandle==INVALID_HANDLE_VALUE)//判断是否设置成功
    ExitProcess(GetLastError());
    while(true){ //设置循环,监视是否有 dwWaitStatus=WaitForSingleObject(dwChangeHandle,-1);
    if(dwWaitStatus==0){
    MessageBox("Notification","Something Changed",MB_OK); //给出提示         
    FindCloseChangeNotification(dwChangeHandle); //关闭句柄      
    exit(EXIT_SUCCESS); //退出程序    
    }
      

  2.   

    用FindFirstChangeNotification只能监视改名、写入时间、属性等改变,好像不能直接监视文件被打开或者将要被打开的消息。
    除了hook或vxd以外还有没有直接可以利用Wait函数的方法?