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

thinkc 2007-06-19 12:31:06
RT
...全文
2367 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)

110,537

社区成员

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

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

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