zoukankan      html  css  js  c++  java
  • 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         }

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

    另:

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

  • 相关阅读:
    模拟赛2020.9.11
    棋盘(dfs)
    树的重心
    模拟赛9.4
    最大数(线段树)
    [模板] 线段树
    [模板][数据结构] 树状数组
    [AHOI2018初中组][二分查找] 分组
    [模板] Kruskal 求最小生成树
    [模板] 最近公共祖先(LCA)的几种求法
  • 原文地址:https://www.cnblogs.com/aguan/p/5507857.html
Copyright © 2011-2022 走看看