Advertisement

深入分析WPF软件的重启机制

阅读量:

此前曾撰写过一篇介绍软件自动重启机制的文章WPF实现应用程序启动单实例及软件重启功能。然而在实际应用过程中发现,当程序中存在多个异步线程或占用资源时,调用Application.Current.Shutdown()方法后,部分情形下资源无法即时释放,程序亦未能完全关闭。为解决此问题,尝试采用运行批处理文件以强制结束进程并重新启动软件的方式,实现自动重启功能。

1、启动记事本程序,输入如下代码内容,并将文件保存为ReStart.bat

复制代码
 @echo off

    
  
    
 ::需要杀掉的进程名称
    
 set killprocess=APPName.exe
    
  
    
 ::需要杀掉的进程地址
    
 set startprocess=C:\APPName\APPName.exe
    
  
    
 ::杀掉进程
    
 taskkill /F /im %killprocess%
    
  
    
 ::启动进程
    
 start %startprocess%
    
    
    
    

2、软件重启批量处理程序方案

复制代码
 /// <summary>

    
 /// 执行软件重启批处理程序
    
 /// </summary>
    
 public stati

全部评论 (0)

还没有任何评论哟~