コード例 #1
0
        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);
        }
コード例 #2
0
ファイル: App.xaml.cs プロジェクト: bxlkm1/NtMiner
        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);
        }