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 }
關閉文件夾句柄?這個術語,或者操作方式欠缺。當時思路是如此。
另:
//刪除有空格的路徑,要為路徑加上雙引號。

浙公網安備 33010602011771號