
没有那个程序能够删除自己。系统不允许删除正在运行(访问)的程序。但是可以在我们的程序里面,用后台模式,执行系统命令(比如一个批处理文件),在这个批处理文件中,先等待足够长时间。然后,程序关闭。后台运行的,那个命令,删除我们这个程序。会留下这个删除程序的命令文件。也可以调用系统安装程序,卸载我们的程序。
代码木有
思路一堆
如果您的程序想删除原本的
友情提示看看百度影音的做法吧
直接新建了一个文件夹
删除原本的文件夹
这个是比较极端的
您可以尝试这次的更新程序下载下来2个EXE一个是主程序_TEMPEXE一个是UPDATEEXE
然后执行UPDATEEXE
关闭自己
UpdateEXE
删除原本的内容
更改主程序_TEMPEXE
为主程序exe
这下就把原本的程序完美替换了
/切割/
但是以前见过单文件自己更新自己的,不知道是否是经过打包
但文件自己更新自己是这样子滴动态生成一个BAT然后执行他就好了执行完了BAT自行删除这个就很简易了
但是您要考虑到BAT要是删除失败可就比较恶心了
如果您不关心原本的程序
或不关心原本程序的废除DALL冗余的文件
那么就简单了
但是也有前提:
前提是;你的主程序EXE
也就是你执行更新这一段代码的EXE程序自己不更新否则由于进程锁无法更新
其实也能仿
例如下载的新的EXE名字改一下生成BAT删除原本EXE更改名字BAT自行删除
/再割/
您说的自己更新自己是CLICKONCE吧
他是微软自己实现的通过WINDOWS的一个组件
前提当然也就是您说的打包了
而且整个打包方式都不同
楼上的不错。但是直得补充的是,如果程序本身文件是“只读”时将会失效,应该在加上一个参数 /F 版本 2程序集 窗口程序集1子程序 __启动窗口_将被销毁运行 (“cmdexe /c del /f /a ” + 取执行文件名 (), 假, #隐藏窗口)结束 ()
删除自己就是删除类文件而已
如下
import javaioFile;
public class A{
public static void main(String[] args) throws Throwable {
File file=new File("Aclass");
Systemoutprintln(filedelete());
}
}
测试过可以删除Aclass
剩下的问题就是收集程序的类文件了
你应该可以自己解决了
以上就是关于易语言怎么删除自身exe全部的内容,包括:易语言怎么删除自身exe、c#如何解决更新程序并删除自身。、易语言程序自己删除自己等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)