一个进程要写或删除一个文件,但这个文件正被另一个进程以不可写方式打开着,所以无法删除这个文件,这两个进程都以系统管理员权限运行。现在想强行删除这个文件,但不能把那个正打开文件的进程杀掉(应用服务器进程,杀不得)。哪位高手有妥善的方法?请给出代码,成功后另外再加分!操作系统是Win2000 Server。

解决方案 »

  1.   

    参考一下运行后自删除的exe程序的代码
      

  2.   

    使用进程间消息通信方式,如A进程要删除文件,先发个消息给B进程,B进程接收到消息后就关闭对此文件的操作,然后再发送个消息给A进程,A进程接受此消息后,就删除此文件。
      

  3.   

    如果是我,我会采用kind_li(蓝色程序员)的方法。
      

  4.   

    比如说,你要删除金山毒霸主文件,但是它还在运行,就先找到kav32.exe,用TerminateProcess结束它,再删除就可以了。
      

  5.   

    http://www.codeguru.com/files/ForceDel.shtml
    Deleting Locked Files 
      

  6.   

    masterz给出的程序正是我需要的,等试验成功后给分。其他方法都不行,没有好好看问题啊。