Code Bye

C#程序有什么好的方法删除自身

都2016.09.26了。搜索了下网上的方法,不外乎2种。
第一种,写bat删除本人,但是主要的问题就是不靠谱,原因是你无法知晓你的应用程序进程要多久后才能退出(优化方案是在bat中利用ping设置延时等待一段时间后再执行删除,这能达到效果,但是总感觉不是很官方)。
第二种,利用WIN32 API函数MoveFileEx,他的问题是要重启电脑后才会执行删除本人的命令,不能即时删除。
不知道msdn有没有给出过官方的解决方案,本人比较拙笨,没有搜索出来。
希望能学会一些比较官方的解决方法。
解决方案

40

你可以写一个删除的程序放在同一个目录下,例如叫delet.exe。当你需要删除本人的时候线本人关闭窗体或文件,然后在Closed事件中启动这个delet.exe。在delet.exe程序中先判断能否还存在你原来的程序,假如存在则强制关闭该程序的进程,然后在删除你本人,删除成功后关闭delet.exe。

60

有很多歪门邪道的方法可以搞定 目前反正本人是不知道 怎么样本人把本人给删除掉
但是 让其他进程来干掉本人是可以的 复杂的做法本人就不说了 原因是本人也不用
本人用过的一个简单的方式就是 cmd
本人要在干掉本人的时候 本人创建一个process 来启动 cmd 然后用cmd 来干掉本人
当然本人会给cmd 两个参数 一个是 本人本人的进程id 还有就是本人本人的文件路径
然后就可以有这样一条命令了
taskkill /f /pid xxx & delete filename
两条命令拼接执行 让cmd先强制结束本人 命令完成后 又马上删除本人 由于是两个进程了 所以不会有任何问题

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明C#程序有什么好的方法删除自身