using Common.system; using System; using System.Collections.Generic; using System.Diagnostics; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows; using System.Windows.Threading; namespace XHWK.WKTool { public partial class APP : Application { [STAThread] private static void Main() { // 定义Application对象作为整个应用程序入口 Application app = new Application(); //app.DispatcherUnhandledException += MyApp_DispatcherUnhandledException; MainWindow win = new MainWindow(); app.Run(win); //LogHelper.WriteInfoLog("启动项目"); StopSameProcess(); } private static void StopSameProcess() { Process current = Process.GetCurrentProcess(); Process[] processList = Process.GetProcesses(); foreach (Process process in processList) { if (process.ProcessName.ToUpper() == "XHSCHOOL") { if (process.Id != current.Id) //忽略当前进程 { try { process.Kill(); //结束进程 } catch (Exception) { } } } } } private void MyApp_DispatcherUnhandledException(object sender, DispatcherUnhandledExceptionEventArgs e) { LogHelper.WriteErrLog("未标示错误:" + e.Exception.Message, e.Exception); MessageBox.Show("程序异常." + Environment.NewLine + e.Exception.Message); e.Handled = true; } #region 内存处理 -创建人:赵耀 -创建时间:2020年8月12日 /// /// 内存释放压缩 /// /// protected override void OnStartup(StartupEventArgs e) { //private LierdaCracker cracker = new LierdaCracker(); //cracker.Cracker(5000);//间隔时间 //base.OnStartup(e); new Thread(o => { while (true) { try { //FreeMemoryHelper.SetDate(); FreeMemoryHelper.ReallocateMemory(); Thread.Sleep(20000);//暂定每20秒释放一次 } catch (Exception ex) { LogHelper.WriteErrLog("【释放内存(MyApp)" + ex.Message, ex); } } }).Start(); } #endregion 内存处理 -创建人:赵耀 -创建时间:2020年8月12日 } }