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(); } }
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(); } }
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(); }
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); }
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(); }