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         }

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

    另:

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

  • 相关阅读:
    3dsmaxunity3d
    libav android移植交叉编译
    libav 由显卡中读取数据制作视频
    超详细mysql left join,right join,inner join用法分析
    VC常见入门问题总结
    c#皮肤美化
    论坛
    vc中文件的读写操作
    MySQL的mysqldump工具的基本用法
    perl产生随机数
  • 原文地址:https://www.cnblogs.com/aguan/p/5507857.html
Copyright © 2011-2022 走看看