在软件的升级程序中,新的安装包下载完成后,我们一般需要删除程序自身,以给用户更好的使用体验。我们可以通过动态创建批处理程序完成这一目的:
1.控制台程序代码
string vBatFile = Environment.CurrentDirectory + "\\DelSelf.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", Environment.CurrentDirectory + "\\AutoRegSimple.exe"));
            }
            WinExec(vBatFile, 0);2.WinForm程序代码
         string vBatFile = Path.GetDirectoryName(Application.ExecutablePath) + "\\delete.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);其中WinExec代码如下:
        [DllImport("kernel32.dll")]
            public static extern uint WinExec(string lpCmdLine, uint uCmdShow);
 
    
   
已有 5052 位网友参与,快来吐槽:
发表评论