• 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         }

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

    另:

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

  • 相关阅读:
    go语言简述
    树莓派基础
    电信专用名词
    无线linux应用及配置--wifi配置
    udev简述
    什么是物联网网关?物联网网关具备什么功能?_转
    FTDI通用转USB芯片简述
    Spring实现文件的上传下载
    (转)JVM——内存管理和垃圾回收
    (转)JVM——自定义类加载器
  • 原文地址:https://www.cnblogs.com/aguan/p/5507857.html
Copyright © 2020-2023  润新知