WPF 程序自删除(自毁)|卸载程序删除

一般是在MainWindow_Closed 事件中调用批处理命令删除。

 

在借鉴别人的想法的基础上的算是改进。

 

自删除步骤:

1.删除文件

2.删除存放文件夹。

 

实现代码:

 1 private static void DeleteItselfByCMD()
 2         {
 3             string baseDirectory = System.AppDomain.CurrentDomain.BaseDirectory;
 4             StringBuilder sb = new StringBuilder();
 5             sb.Append(@" /C ping 1.1.1.1 -n 1 -w 1000 > Nul");//ping 一次等1秒 不输出结果
 6             sb.Append(" & DEL \"");//删除文件
 7             sb.Append(baseDirectory);
 8             sb.Append("\" /f /s /q");
 9             sb.Append(@" & cd..");//删除文件时会占用当前文件句柄?需要退出当前文件夹或者关闭当前文件夹,然后再调用rd删除文件夹。
10             sb.Append(string.Format("& rd /s /q \"{0}\"", baseDirectory));
11             ProcessStartInfo psi = new ProcessStartInfo("cmd.exe", sb.ToString());
12             psi.WindowStyle = ProcessWindowStyle.Normal;
13             psi.CreateNoWindow = true;
14             Process.Start(psi);
15             Application.Current.Shutdown();
16         }

关闭文件夹句柄?这个术语,或者操作方式欠缺。当时思路是如此。

 

另:

 //删除有空格的路径,要为路径加上双引号。

posted @ 2016-05-19 10:38  阿冠  阅读(1459)  评论(0编辑  收藏  举报