private void DisplayLogWindow() { if (logUC == null) { logUC = new FormLog(); // logUC.DisposeEvent += HandleLogWindowClose; //To show trace on screen. Might need a switch later. logMemoListerner = new MemoTraceListener(logUC.Box); Trace.Listeners.Add(logMemoListerner); System.Drawing.Size size = new Size(300, 300); logUC.Size = size; logUC.Show(); } }
/// <summary> /// 메인 폼이 로딩될 때.. 이벤트 처리 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FormMain_Load(object sender, EventArgs e) { try { #region 로그 출력을 위한 윈폼이 제일 먼저 실행됨 // 로그 폼 - 제일 먼저 나와야 함 mfLog = new FormLog(); mfLog.Owner = this; mfLog.mFormMain = this; mfLog.Show(); CheckShowFormLog.Checked = true; #endregion #region 현재 프로그램 정보 확인 및 세팅 // 프로그램 경로 setting.program_execute_dir = Util.GetCurrentDirectoryWithPath(); setting.program_full_name = Environment.GetCommandLineArgs()[0]; // 프로그램 실행시 받은 파라미터 확인 if (Environment.GetCommandLineArgs().Length == 1) { Log.WriteLine("##### 프로그램 시작 #####"); } else { Log.WriteLine("##### 프로그램 재시작 #####"); } #endregion #region 서브 윈도우 폼 로딩 // 환경설정 폼 mfSetting = new FormSetting(); mfSetting.Owner = this; mfSetting.mfMain = this; mfSetting.Show(); CheckShowFormSetting.Checked = true; // Trading 폼 mfTrading = new FormTrading(); mfTrading.Owner = this; mfTrading.mfMain = this; mfTrading.Show(); CheckShowFormTrading.Checked = true; // 로그인 폼 mfLogin = new FormLogin(); mfLogin.Owner = this; mfLogin.mFormMain = this; mfLogin.Show(); CheckShowFormLogin.Checked = true; mfOcr = new FormOCR(); mfOcr.Owner = this; mfOcr.mFormMain = this; mfOcr.Show(); CheckShowFormOcr.Checked = true; #endregion // xing component 로드 fnLoadXing(); // 자동 로그인 설정이 되어 있으면... if (setting.login_auto_yn) { Log.WriteLine("자동 로그인 시작"); TimerLogin.Start(); } } catch (Exception ex) { Log.WriteLine(ex.Message); Log.WriteLine(ex.StackTrace); } } // end function
//public static FormTASRecorder inputRecorderForm; public static void Startup() { Settings newSettings = new Settings(); logForm = new FormLog(); logForm.Show(); mainForm.BringToFront(); Log("Starting Up....", Enums.LogMessageType.Basic); mainForm.labelVersion.Text = version; logForm.Location = new System.Drawing.Point(mainForm.Location.X, mainForm.Location.Y + mainForm.Height + 8); IO.InputController.Start(); programs.Add(new BuiltIn.InputSender.InputSender()); programs.Add(new BuiltIn.vJoyInterface.vJoy_Emu()); programs.Add(new BuiltIn.InputDisplay.InputDisplay()); programs.Add(new BuiltIn.FPSMaster.FPSMaster()); for (int i = 0; i < programs.Count; i += 1) { Log("Added program: " + programs[i].name + " | " + programs[i].versionID, Enums.LogMessageType.Basic); programs[i].Load(); mainForm.comboBoxProgram.Items.Add(programs[i].name); } mainForm.comboBoxProgram.Items.Add("--Install a new Program--"); if (!File.Exists(appFolder + "/" + "settings.js")) { settings.ResetToDefaults(); Log("Creating New Settings.", Enums.LogMessageType.Basic); } else { try { newSettings = JsonConvert.DeserializeObject <Settings>(File.ReadAllText(appFolder + "/" + "settings.js")); settings = newSettings; //Log("Loaded Settings.", Enums.LogMessageType.Basic); if (settings.version != version) { Log("You have updated to NentendoSharp " + version + " successfully!", Enums.LogMessageType.Basic); settings.version = version; } } catch (Exception exc) { Log("Error Loading Settings:\n" + exc.ToString(), Enums.LogMessageType.Error); settings = new Settings(); settings.ResetToDefaults(); } } File.WriteAllText(appFolder + "/" + "settings.js", JsonConvert.SerializeObject(settings)); //Log("Settings Saved.", Enums.LogMessageType.Basic); if (firstStart) { Log("Startup Complete! Welcome to NintendoSharp Newb!", Enums.LogMessageType.Basic); } else { Log("Startup Complete! Welcome to NintendoSharp!", Enums.LogMessageType.Basic); } LogBufferTimer = new System.Windows.Forms.Timer(); LogBufferTimer.Interval = 100; LogBufferTimer.Tick += tmLog_Tick; LogBufferTimer.Start(); updateThread = new Thread(UpdateThread); updateThread.Start(); }