static void Main(string[] strArgs) { // 프로세스 아규먼트 처리 if (strArgs.Length <= 0) { MessageBox.Show("프로세스 아이디가 입력되지 않았습니다", "실행 오류", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } if (!long.TryParse(strArgs[0], out Config.PROCESS_NO)) { MessageBox.Show("프로세스 아이디가 잘못되었습니다.", "실행 오류", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } //// 환경 파일 로딩 //// string iniFile = string.Format("{0}\\..\\Btfax.ini", Application.StartupPath); if (!Config.LoadIni(iniFile)) { MessageBox.Show(string.Format("환경파일({0}) 읽기 실패.", iniFile), "실행 오류", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } CommonMsgBox.IsMsgPopup = false; //// 윈폼 생성 //// Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Program.s_frmMain = new FrmMain(); //// 초기화 //// AppLog.LogDefaultPath = Application.StartupPath + "\\log"; AppLog.LogPrefix = string.Format("FAX_{0}_TMK_{1}", Config.SYSTEM_NO, Config.PROCESS_NO); //AppLog.IsDisplay = false; //AppLog.DisplayDelegate = Program.s_frmMain.Display_AddLog; //Config.DisplayDelegate = Program.s_frmMain.Display_Config; //// 프로세스 시작 //// Config.APP_VER = string.Format("v{0}", Assembly.GetExecutingAssembly().GetName().Version); AppLog.Write(LOG_LEVEL.MSG, string.Format("### TMK {0} 프로세스 시작 ###", Config.APP_VER)); #if DEBUG AppLog.Write(LOG_LEVEL.MSG, "### This is DEBUG mode. ###"); #endif //// DB 접속 //// if (!DbModule.Instance.Open(Config.DB_CONNECTION_STRING)) { AppLog.Write(LOG_LEVEL.ERR, "DB 접속에 실패하였습니다"); return; } AppLog.Write(LOG_LEVEL.MSG, "DB : 접속 완료"); //// 환경 DB 로딩 //// if (!Config.LoadDb()) { AppLog.Write(LOG_LEVEL.ERR, "DB환경설정 읽기를 실패하였습니다"); return; } AppLog.LogLevel = Config.LOG_LEVEL; AppLog.Write(LOG_LEVEL.MSG, "실행환경 적용 완료"); //// 암호화 모듈 초기화 //// if (Config.ENCRYPT_FIELD_YN == "Y") { if (File.Exists(Config.ENCRYPT_DLL_FILE)) { if (!EncryptApi.InitApi(Config.ENCRYPT_DLL_FILE)) { AppLog.Write(LOG_LEVEL.WRN, string.Format("암호화 모듈({0})로드 실패", Config.ENCRYPT_DLL_FILE)); } else { AppLog.Write(LOG_LEVEL.MSG, string.Format("암호화 모듈({0})로드 성공", Config.ENCRYPT_DLL_FILE)); } } else { AppLog.Write(LOG_LEVEL.WRN, string.Format("암호화 모듈({0}) 이 존재하지 않습니다.", Config.ENCRYPT_DLL_FILE)); } } //// 쓰레드 객체 생성 //// s_DbPollingThread = DbPollingThread.Instance; //// 윈폼 실행 //// try { //// 쓰레드 시작 //// Program.Thread_Start(); AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); Application.ThreadException += new ThreadExceptionEventHandler(ApplicationThreadException); Application.Run(Program.s_frmMain); //// 쓰레드 종료 //// Program.Thread_Stop(); } catch (Exception ex) { //// 쓰레드 종료 //// Program.Thread_Stop(); AppLog.ExceptionLog(ex, "어플리케이션 예외가 발생하였습니다."); } //// 프로세스 종료 로그 기록 //// AppLog.Write(LOG_LEVEL.MSG, "### TMK 프로세스 종료 ###"); }