Exemple #1
0
        static void Main()
        {
            using (Mutex mutex = new Mutex(false, "Global\\KcptunLauncher_" + AppDomain.CurrentDomain.BaseDirectory.GetHashCode()))
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);

                if (!mutex.WaitOne(0, false))
                {
                    Process[] oldProcesses = Process.GetProcessesByName("KcptunLauncher");
                    if (oldProcesses.Length > 0)
                    {
                        Process oldProcess = oldProcesses[0];
                    }
                    MessageBox.Show("KcptunLauncher已运行");
                    return;
                }

                Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
                Application.ThreadException += new ThreadExceptionEventHandler((object sender, ThreadExceptionEventArgs e) =>
                {
                    Logger.GetInstance().SaveCrashLogs(e.Exception);
                });
                AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler((object sender, UnhandledExceptionEventArgs e) =>
                {
                    Logger.GetInstance().SaveCrashLogs(e.ExceptionObject as Exception);
                });
                Application.ApplicationExit += new EventHandler((object sender, EventArgs e) => { MenuControlController.GetInstance().Exit(); });
                MenuControlController.GetInstance();
                Application.Run();
            }
        }
Exemple #2
0
        static void Main()
        {
            using (Mutex mutex = new Mutex(false, "Global\\KcptunLauncher_" + AppDomain.CurrentDomain.BaseDirectory.GetHashCode()))
            {
                Application.EnableVisualStyles();
                Application.SetCompatibleTextRenderingDefault(false);

                if (!mutex.WaitOne(0, false))
                {
                    MessageBox.Show("程序已运行", "KcptunLauncher");
                    return;
                }

                Application.SetUnhandledExceptionMode(UnhandledExceptionMode.CatchException);
                Application.ThreadException += (sender, e) =>
                {
                    Logger.GetInstance().SaveCrashLogs(e.Exception);
                };
                AppDomain.CurrentDomain.UnhandledException += (sender, e) =>
                {
                    Logger.GetInstance().SaveCrashLogs(e.ExceptionObject as Exception);
                };
                Application.ApplicationExit += (sender, e) => { MenuControlController.GetInstance().Exit(); };
                MenuControlController.GetInstance();
                Application.Run();
            }
        }
Exemple #3
0
 private void removeServerBtn_Click(object sender, EventArgs e)
 {
     Configuration.RemoveServer((mSource.DataSource as List <Server>)[mServerList.SelectedIndex]);
     mSource.ResetBindings(false);
     if (mSource.Count > 0)
     {
         mServerList.SelectedIndex = mServerList.Items.Count - 1;
     }
     MenuControlController.GetInstance().LoadServersMenuItem();
 }
Exemple #4
0
        private void mServerList_SelectedIndexChanged(object sender, EventArgs e)
        {
            foreach (Server server in Configuration.Servers)
            {
                if (server.Name.Equals(selectedServerName))
                {
                    Server genServer = GenServer();
                    if (!selectedServerName.Equals(genServer.Name) ||
                        !server.ToString().Equals(genServer.ToString()))
                    {
                        Save(genServer);
                        Configuration.Servers.Remove(server);
                        Configuration.Servers.Add(genServer);
                        Configuration.UpdateEnabledServerName(server.Name, genServer.Name);
                        Util.Logger.GetInstance().UpdateLogFileName(server.Name, genServer.Name);
                        MenuControlController.GetInstance().LoadServersMenuItem();
                        List <Server> servers = mSource.DataSource as List <Server>;
                        for (int i = 0, n = servers.Count; i < n; i++)
                        {
                            Server cServer = servers[i];
                            if (cServer.Name.Equals(selectedServerName))
                            {
                                mSource[i] = genServer;
                                mSource.ResetBindings(false);
                                break;
                            }
                        }

                        mSource.ResetBindings(false);
                    }
                    break;
                }
            }

            Server mServer = mServerList.SelectedItem as Server;

            selectedServerName = mServer.Name;
            LoadServer(mServer);
        }
Exemple #5
0
        private void confirmBtn_Click(object sender, EventArgs e)
        {
            int selectedIdx = mServerList.SelectedIndex;

            if (selectedIdx < Configuration.Servers.Count && Configuration.Servers.Count > 0)
            {
                Server genServer = GenServer();
                if (!Equals(Configuration.Servers[selectedIdx].Name, genServer.Name))
                {
                    MainProcessController      mpCtler  = MainProcessController.GetInstance();
                    System.Diagnostics.Process oProcess = mpCtler.Processes[Configuration.Servers[selectedIdx].Name] as System.Diagnostics.Process;
                    mpCtler.Processes.Remove(Configuration.Servers[selectedIdx].Name);
                    mpCtler.Processes.Add(GenServer().Name, oProcess);

                    Configuration.UpdateEnabledServerName(Configuration.Servers[selectedIdx].Name, genServer.Name);
                    Util.Logger.GetInstance().UpdateLogFileName(Configuration.Servers[selectedIdx].Name, genServer.Name);
                }

                Configuration.Servers[selectedIdx] = genServer;
                Configuration.NotifyServersChanged();
                MenuControlController.GetInstance().LoadServersMenuItem();
            }
            Close();
        }