如何用C#写自己删除自己的程序。

thinkc 2007-06-19 12:31:06
RT
...全文
2371 28 打赏 收藏 转发到动态 举报
写回复
用AI写文章
28 条回复
切换为时间正序
请发表友善的回复…
发表回复
lincal_w 2010-12-23
  • 打赏
  • 举报
回复
我也遇到了这个问题,目前只好认为批处理是较好的解决方案
liulun 2009-11-25
  • 打赏
  • 举报
回复
靠!
楼上正解啊!
怎么不给分!
U2008 2008-06-23
  • 打赏
  • 举报
回复
using System.Runtime.InteropServices;

//****************************************添加引用

[DllImport("kernel32.dll")]
public static extern uint WinExec(string lpCmdLine, uint uCmdShow);

private void button1_Click(object sender, EventArgs e)
{
string vBatFile = Path.GetDirectoryName(Application.ExecutablePath) + "\\Zswang.bat";
using (StreamWriter vStreamWriter =new StreamWriter(vBatFile, false, Encoding.Default))
{

vStreamWriter.Write(string.Format(
":del\r\n" +
" del \"{0}\"\r\n" +
"if exist \"{0}\" goto del\r\n" + //此处已修改
"del %0\r\n", Application.ExecutablePath));
}

//************ 执行批处理
WinExec(vBatFile, 0);

//************ 结束退出

Close();
}

ytx98 2008-05-22
  • 打赏
  • 举报
回复
mark + up 关注,我有个程序需要经常的升级,我也希望可以
xiaomaolover 2007-06-25
  • 打赏
  • 举报
回复
好像是可以的。
guiguzihanbo 2007-06-25
  • 打赏
  • 举报
回复
可以的不是说让你调用API吗?
thinkc 2007-06-21
  • 打赏
  • 举报
回复
如果不借助其他程序,C# 好像实现不了自杀程序
guiguzihanbo 2007-06-20
  • 打赏
  • 举报
回复
你可以调用Windows API MoveFileEx()来实现程序删除自己。这个我做过完全可以实现。
loveic 2007-06-20
  • 打赏
  • 举报
回复
楼上的那个应该是 Windows 执行机制所限制的。不过我记得应该可以交给系统来做这件事...
chenxsh2615 2007-06-20
  • 打赏
  • 举报
回复
难道你要做什么版权控制?
Croky 2007-06-20
  • 打赏
  • 举报
回复
楼上的,那为什么BAT文件可以用del %0来删除自身呢?
C#应该也可以 
先装程序装入内存 再删除文件 最后消毁进程

---------------------bat不是可执行文件,删除它的操作是cmd.exe完成的。
不过删除自身是完全可能的。...我经常这么干!~~
thinkc 2007-06-20
  • 打赏
  • 举报
回复
顶一顶,看看有什么好的解决方案
thinkc 2007-06-19
  • 打赏
  • 举报
回复
给个关键代码或链接都可以
Avoid 2007-06-19
  • 打赏
  • 举报
回复
程序运行。。。怎么删?程序终止。。。怎么执行删除代码?

用InstallSheild实现一个卸载程序比较现实。。。
yuan731 2007-06-19
  • 打赏
  • 举报
回复
程序中开个进程,删掉程序后,在销毁进程
thinkc 2007-06-19
  • 打赏
  • 举报
回复
我记得老版本的Reflector就有这个功能。那位大侠指点一下。
sanniko 2007-06-19
  • 打赏
  • 举报
回复
程序依靠自身文件运行的,删除掉自身文件还怎么运行.
A->B B删除A
DreamHK 2007-06-19
  • 打赏
  • 举报
回复
楼上的,那为什么BAT文件可以用del %0来删除自身呢?
C#应该也可以 
先装程序装入内存 再删除文件 最后消毁进程
canybox 2007-06-19
  • 打赏
  • 举报
回复
虚拟一个对象删除自己,然后删除那个对象,我觉得这样比较好。。。
不过不知道怎么做
ChinaRedRose 2007-06-19
  • 打赏
  • 举报
回复
运行的程序是不能自己删除自己的
加载更多回复(8)
微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 微信小程序系统教程共有“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]——核心技术”、“微信小程序系统教程[阶段]客服消息+微信支付+九宝电商系统”。 “微信小程序系统教程[阶段]全套课程”包含: 1.微信小程序系统教程[阶段]_客服消息 2.微信小程序系统教程[阶段]_微信支付 3.微信小程序系统教程[阶段]_九宝电商系统 学习“微信小程序系统教程[阶段]”要求有微信小程序的基础。建议先学习“微信小程序系统教程[初级阶段]”、“微信小程序系统教程[中级阶段]”,后在报名“微信小程序系统教程[阶段]”。 阶段讲解的客服消息,是针对小程序的。后台程序用接近底层的技术,没有使用三方技术。这样降低同学们学习成本。 微信支付,这部分课程很有难度,要求同学们认真听讲,有不会的技术问题可以请教老师。购买课程后请联系老师,提供单号,给你源程序。 九宝电商系统是一套十分适和学习、项目的课程。既可以系统的学习微信小程序相关知识,还可以修改后上线。 “微信小程序系统教程[中级阶段]——核心技术”重点讲解微信小程序事件、组件、API 微信小程序系统教程[初级阶段],微信小程序0基础学起,讲解微信小程序开发的基础知识。 购买课程的同学,可赠送就九宝老师编的《微信小程序开发宝典》。 购课请咨询qq2326321088

110,548

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧