国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

C#實現刪除自身程序

2019-11-08 02:57:58
字體:
來源:轉載
供稿:網友

  因為課程需要,需要實現程序運行時刪除自身的效果,但是程序運行時是受到系統保護的,所以只能想別的方法 。   思路是:在本程序未關閉時調用其他程序,使被調用的程序在源程序關閉后刪除程序本身。   使用C#刪除自身的exe程序,共有兩種方法。   

方法一:使用bat文件刪除程序+自身,但其有臨時bat文件生成。

方法二:利用某些dos命令的延時效果,在程序退出之后自動刪除程序自身思路非常巧妙。也避免了bat方式,循環刪除的問題。當然這種方法從本質上應該和方法一差不多。


方法一:程序中打開新的進程,刪掉程序后,再銷毀進程本身

  流程:首先生成一個BAT文件,然后讓BAT執行刪除動作,就是:    1、生成刪除的BAT    2、運行BAT    3、快速退出    4、BAT開始刪除EXE    5、BAT刪除BAT/// <summary> /// 刪除程序自身(本文地址:http://www.cnblogs.com/Interkey/p/DeleteItself.html)【推薦】 /// </summary> PRivate static void DeleteItself() { string vBatFile = Path.GetDirectoryName(application.ExecutablePath) + "http://DeleteItself.bat"; using (StreamWriter vStreamWriter = new StreamWriter(vBatFile, false, Encoding.Default)) { vStreamWriter.Write(string.Format( ":del/r/n" + " del /"{0}/"/r/n" + "if exist /"{0}/" goto del/r/n" + "del %0/r/n", Application.ExecutablePath)); } //************ 執行批處理 WinExec(vBatFile, 0); //************ 結束退出 Application.Exit(); }    [System.Runtime.InteropServices.DllImport("kernel32.dll")]    public static extern uint WinExec(string lpCmdLine, uint uCmdShow);

方法二:程序中打開新的進程,調用cmd命令,刪掉程序即可。

/// <summary> /// 刪除程序自身(本文地址:http://www.cnblogs.com/Interkey/p/DeleteItself.html) /// </summary> private static void DeleteItselfByCMD() { ProcessStartInfo psi = new ProcessStartInfo("cmd.exe", "/C ping 1.1.1.1 -n 1 -w 1000 > Nul & Del " + Application.ExecutablePath); psi.WindowStyle = ProcessWindowStyle.Hidden; psi.CreateNoWindow = true; Process.Start(psi); Application.Exit(); }這些命令的意思是:cmd /c 調用命令窗口執行dos指令  ping 1.1.1.1 -n 1 -w 1000 > Nul 利用 ping命令的 –w 參數指定延時1秒執行  & 連接下一個命令(用于一行執行多個命令)  Del <Application.ExecutablePath> 刪除可執行文件

程序實例:

下載:http://download.csdn.net/detail/acingdreamer/9757359


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 襄汾县| 定南县| 海兴县| 伊宁市| 临江市| 巴东县| 苏州市| 利川市| 南康市| 松原市| 银川市| 永昌县| 青川县| 莱芜市| 黑山县| 和平县| 府谷县| 阿拉善左旗| 吴堡县| 巧家县| 阜城县| 抚远县| 克东县| 宜丰县| 汝州市| 太湖县| 徐州市| 军事| 洛隆县| 阳山县| 安达市| 西宁市| 江陵县| 舟曲县| 长泰县| 天水市| 集安市| 敦化市| 玉龙| 武隆县| 栾川县|