因为课程需要,需要实现程序运行时删除自身的效果,但是程序运行时是受到系统保护的,所以只能想别的方法 。
思路是:在本程序未关闭时调用其他程序,使被调用的程序在源程序关闭后删除程序本身。
使用C#删除自身的exe程序,共有两种方法。
方法一:使用bat文件删除程序+自身,但其有临时bat文件生成。
方法二:利用某些dos命令的延时效果,在程序退出之后自动删除程序自身思路非常巧妙。也避免了bat方式,循环删除的问题。当然这种方法从本质上应该和方法一差不多。
方法一:程序中打开新的进程,删掉程序后,再销毁进程本身
流程:首先生成一个BAT文件,然后让BAT执行删除动作,就是:
1、生成删除的BAT
2、运行BAT
3、快速退出
4、BAT开始删除EXE
5、BAT删除BAT
/// <summary>
/// 删除程序自身(本文地址:http://www.cnblogs.com/Interkey/p/DeleteItself.html)【推荐】