public int KillApp(KillAppType type, FileInfo app) { if (app == null) { return(0); } XMQSession.Current.Publish(new XMessage() { MsgData = $"{type.ToString()} [{app.FullName}]" }); if (type == KillAppType.AppSuite) { killprocesses(ProcessStore.Instance.GetProcessesByName(app)); return(1); } if (type == KillAppType.AppSelf) { killprocesses(ProcessStore.Instance.GetProcesses(app)); return(1); } if (type == KillAppType.Reboot) { killprocesses(ProcessStore.Instance.GetProcesses(app)); return(startApp(app)); } killprocesses(ProcessStore.Instance.GetProcesses(app)); return(1); }
private int killApp(KillAppType killType) { var killer = getAppKillPath(); if (killer == null) { return(0); } var app = new FileInfo(Process.GetCurrentProcess().MainModule.FileName); ProcessStartInfo process = new ProcessStartInfo(killer.FullName); process.UseShellExecute = true; process.WindowStyle = ProcessWindowStyle.Minimized; process.WorkingDirectory = app.Directory.FullName; process.Arguments = $"\"KillType = {((int)killType).ToString()}\" \"AppPath = {app.FullName}\""; System.Diagnostics.Process.Start(process); return(1); }