protected override void OnStartup(StartupEventArgs e) { RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly; if (AppUtil.GetMutex(NTKeyword.MinerUpdaterAppMutex)) { NotiCenterWindow.Instance.ShowWindow(); this.MainWindow = new MainWindow(); this.MainWindow.Show(); VirtualRoot.StartTimer(new WpfTimer()); } else { Process thatProcess = null; Process currentProcess = Process.GetCurrentProcess(); Process[] Processes = Process.GetProcessesByName(currentProcess.ProcessName); foreach (Process process in Processes) { if (process.Id != currentProcess.Id) { // 因为挖矿端和群控端的升级器是同一份程序所以区分一下 if (typeof(App).Assembly.Location.Equals(currentProcess.MainModule.FileName, StringComparison.OrdinalIgnoreCase)) { thatProcess = process; } } } if (thatProcess != null) { AppUtil.Show(thatProcess); } else { MessageBox.Show("另一个升级器已在运行", "提示", MessageBoxButton.OKCancel, MessageBoxImage.Warning); } Environment.Exit(0); return; } base.OnStartup(e); }
protected override void OnStartup(StartupEventArgs e) { RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly; if (AppUtil.GetMutex(NTKeyword.MinerClientFinderAppMutex)) { NotiCenterWindow.Instance.ShowWindow(); MainWindow = new MainWindow(); MainWindow.Show(); VirtualRoot.StartTimer(new WpfTimer()); } else { Process thatProcess = null; Process currentProcess = Process.GetCurrentProcess(); Process[] Processes = Process.GetProcessesByName(currentProcess.ProcessName); foreach (Process process in Processes) { if (process.Id != currentProcess.Id) { thatProcess = process; break; } } if (thatProcess != null) { AppUtil.Show(thatProcess); } else { MessageBox.Show("另一个矿机雷达已在运行", "提示", MessageBoxButton.OKCancel, MessageBoxImage.Warning); } Environment.Exit(0); return; } base.OnStartup(e); }