<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      C#刪除程序自身【總結】

        偶然看到一個可以自刪除的程序,于是了解下如何實現。然后整理如下:

        思路:

        在.NET程序中,因為運行中的程序是受系統保護的,不能自己刪除自身的,所以自刪除的思路:

         在關閉本程序之前啟動新的進程打開另一個程序,調用這個程序來刪除原程序。然后再完成外部進程的銷毀。

        操作:

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

        流程:首先生成一個BAT文件,然后讓BAT執行刪除動作,就是:
          1、生成刪除的BAT
          2、運行BAT
          3、快速退出
          4、BAT開始刪除EXE
          5、BAT刪除BAT

          /// <summary>
          /// 刪除程序自身(本文地址:http://www.rzrgm.cn/Interkey/p/DeleteItself.html)【推薦】
          /// </summary>
          private static void DeleteItself()
          {
              string vBatFile = Path.GetDirectoryName(Application.ExecutablePath) + "\\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.rzrgm.cn/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> 刪除可執行文件
        可惜這種方法 由于xp不支持Choice命令,沒有測試成功。但在Win8 x64位上成功刪除自身。 

        總結:

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

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

         但由于xp不支持Choice命令,所以在使用方面上推薦方法一

         本文地址:http://www.rzrgm.cn/Interkey/p/DeleteItself.html 

        擴展:

         突然想到“伴隨進程”,也就是一個程序產生兩個進程,定時檢測另一個進程信號,如果其中一個進程被結束了,另一個進程就立刻重新啟動被結束的進程,實現程序無法異常結束(特別是Windows結束任務)的效果!

        對于這種伴隨進程(一個主要工作進程,一個伴隨進程)結束的辦法:快速結束兩個進程,當然如果兩個進程的檢測定時足夠短,這種方法就不一定有效了。但可以用另一個假的伴隨進程來處理而達到結束兩個進程的目的。

        歡迎加群:.NET反編譯|破解 群號:183569712(請輸入驗證信息:博客園). .NET反編譯|破解 

        參考:

          程序快速刪除自己

          用C#寫自己刪除自己的程序

          How To Make Your Application Delete Itself Immediately

          兩個互相監控進程的方法

       

      posted on 2014-02-25 12:00  Cosmic_Spy  閱讀(10542)  評論(10)    收藏  舉報

      導航

      Your IP:
      主站蜘蛛池模板: 色噜噜狠狠成人综合| 久久亚洲精品中文字幕无| 上饶市| 99精品国产一区二区三| 亚洲精品三区四区成人少| 白白色发布永久免费观看视频| 日本边添边摸边做边爱的网站| 亚洲精品精华液一区二区| 2019国产精品青青草原| 深夜av免费在线观看| 国产精品v欧美精品∨日韩| 国产亚洲精品日韩av在| 又大又粗又爽18禁免费看| 国产女人喷潮视频免费| 亚洲熟妇无码av另类vr影视| 欧美高清一区三区在线专区 | 人妻中文字幕在线视频无码| 亚洲综合色成在线播放| 一区二区三区av天堂| 日韩精品 在线 国产 丝袜| 精品婷婷色一区二区三区| 性色欲情网站iwww九文堂| 山阳县| 亚洲人成人日韩中文字幕| 深夜释放自己在线观看| 欧洲免费一区二区三区视频| 激情在线一区二区三区视频| 国产成人免费午夜在线观看| 香港经典a毛片免费观看播放| 国产无遮挡又黄又爽不要vip软件 国产成人精品一区二区秒拍1o | 精品无码国产日韩制服丝袜| 中文字幕亚洲综合久久综合| 国产精品人妻久久ai换脸| а∨天堂一区中文字幕| 国色天香成人一区二区| 日韩精品一区二区三区激| 国产AV无码专区亚洲AV漫画| 人人妻人人澡人人爽| 五月婷婷久久中文字幕| 国产涩涩视频在线观看| 亚洲成av人片在www鸭子|