请问强制删除文件有哪些方法?

解决方案 »

  1.   

    这个软件比较强,以前听说它的原理,但是不知道对不对,可以通过调用API来实现: 
    1、历遍所有的线程。
    2、搜索到与要删的文件相关的线程。
    3、杀死线程。 
    4、删除文件。
      

  2.   

    Deleting Locked Files
    http://www.codeguru.com/Cpp/W-P/files/fileio/article.php/c1287
      

  3.   

    你是指强行删除文件?
    很简单
    我的学习笔记如下
    john.xuper[5-8-2006] [01:25]
    forcedel:
     - corefunc:forceDeleteFile(filename)
    1.close all handle
     - get all exist handle and info[ NtQuerySysInfo(HandleInfo) ]
     - test if Section or File object
    - get object backed filename[ by kernel routines ]
      - ( if it is )inject to target process and force close
    2.kill the process if it was a executablejohn.xuper[5-8-2006] [01:40]
     - i believe, it cannot delete ntdll.dll, thanks实际上,强行删除文件ntdll这种,我实验过了,直接重启,
    原因是‘一个至关重要的系统进程被终止’
    另外
    不是管理员权限的话,直接失败
      

  4.   

    如果线程是csrss开的呢?那一结束它的线程马上就死机了.象kernel32.dll这类东西能删除吗?那肯定不行啊..还不如用MoveFileEx()呢,由smss实现,什么都能删(包括csrss,winlogon之类),除了内核文件外.