public static void Main() { Log.ActivateLogging(); Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); if (EnvironmentEx.CommandLineArgs(true, false).Count == 0) { var fileName = Path.GetFileName(PathEx.LocalPath); MessageBox.Show(string.Format(Resources.InfoText, fileName), @"PathToClipboard"); Application.Exit(); return; } try { Clipboard.Clear(); Clipboard.SetText(EnvironmentEx.CommandLine(), TextDataFormat.UnicodeText); } catch (Exception ex) { Log.Write(ex); } const string title = "Clipboard has been updated:"; var message = EnvironmentEx.CommandLineArgs(true, false).Join(Environment.NewLine); var notifyBox = new NotifyBox(); notifyBox.Show(message, title, NotifyBox.NotifyBoxStartPosition.BottomRight, 5000); while (notifyBox.IsAlive) { } }
private void searchURLButton_Click(object sender, EventArgs e) { string url = webtoonDirectURLTextBox.Text.Trim( ); if (url.Length <= 0) { NotifyBox.Show(this, "안내", "링크를 입력하세요.", NotifyBoxType.OK, NotifyBoxIcon.Warning); return; } //( ( Main ) this.Owner ).Download( url ); //Thread requestThread = new Thread( async ( ) => //{ // WebtoonBasicInformation result = await Webtoon.GetBasicInformation( url ); // if ( !string.IsNullOrEmpty( result.title ) && !string.IsNullOrEmpty( result.description ) && !string.IsNullOrEmpty( result.thumbnailURL ) ) // 추가 필요 // { // } // else // { // NotifyBox.Show( this, "오류", "해당 웹툰의 데이터를 불러올 수 없습니다.", NotifyBoxType.OK, NotifyBoxIcon.Error ); // } //} ) //{ // IsBackground = true //}; //requestThread.Start( ); }
private void Timer_Elapsed(object sender, ElapsedEventArgs e) { Exceed = new TimeSpan(DateTime.Now.Ticks) - m_UpdateTime > Interval; decimal sec = (new TimeSpan(DateTime.Now.Ticks) - m_UpdateTime).Ticks / 10000000; Delay = (int)sec; if (Exceed & !Alerted) { try { Alerted = true; Util.Main.InvokeIfRequired(() => { var d = new DateTime() + m_UpdateTime; m_Notify.Show(string.Empty, $"{Server.Name}\r\n{ChannelName}.{Item}\r\n{Value}\r\n{d.ToString("HH:mm:ss.fff")} [{Delay}]", 100, 5000, 1000); }); } catch (Exception ex) { throw ex; } } else if (!Exceed && Alerted) { Util.Main.InvokeIfRequired(() => { m_Notify.Disappear(1000); Alerted = false; //var d = new DateTime() + m_UpdateTime; //m_Notify.Show(string.Empty, $"{Server.Name}\r\n{ChannelName}.{Item}\r\n{Value}\r\n{d.ToString("HH:mm:ss.fff")}", 100, 5000, 1000); }); } }
private void CLOSE_BUTTON_Click(object sender, EventArgs e) { if (NotifyBox.Show(this, "업데이트 권장", "우윳빛깔 카페스탭을 지금 업데이트 하는 것을 권장합니다, 정말로 취소하시겠습니까?", NotifyBoxType.YesNo, NotifyBoxIcon.Question) == NotifyBoxResult.Yes) { Animation.UI.FadeOut(this, true); } }
static void Main( ) { try { string[] dllList = { "HtmlAgilityPack" }; for (int i = 0; i < dllList.Length; i++) { System.Reflection.Assembly.Load(dllList[i]).GetName( ); } } catch (Exception) { NotifyBox.Show(null, "오류", "DLL을 불러올 수 없습니다, 프로그램을 재설치 해주세요.", NotifyBoxType.OK, NotifyBoxIcon.Error); System.Diagnostics.Process.GetCurrentProcess( ).Kill( ); return; } Application.EnableVisualStyles( ); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Main( )); }
private void OpenWithForm_Load(object sender, EventArgs e) { FormEx.Dockable(this); BackColor = Main.Colors.BaseDark; Icon = Resources.PortableApps_blue; Lang.SetControlLang(this); Text = Lang.GetText(Name); Main.SetFont(this); Main.SetFont(appMenu); var notifyBox = new NotifyBox { Opacity = .8d }; notifyBox.Show(Lang.GetText(nameof(en_US.FileSystemAccessMsg)), Main.Title, NotifyBox.NotifyBoxStartPosition.Center); Main.CheckCmdLineApp(); notifyBox.Close(); if (WinApi.NativeHelper.GetForegroundWindow() != Handle) { WinApi.NativeHelper.SetForegroundWindow(Handle); } AppsBox_Update(false); }
private void DOWNLOAD_BUTTON_Click(object sender, EventArgs e) { Webtoon.DownloadBlockList.Clear( ); int count = 0; for (int i = 0; i < webtoonPageList.Controls.Count; i++) { WebtoonListChild webtoonListChild = ( WebtoonListChild )webtoonPageList.Controls[i]; if (webtoonListChild.blocked) { Webtoon.DownloadBlockList.Add(webtoonListChild.info.num); count++; } } if (count >= baseInformation.pages.Count) { NotifyBox.Show(this, "오류", "최소 1개의 화는 다운받아야 합니다.", NotifyBoxType.OK, NotifyBoxIcon.Error); return; } FolderBrowserDialog dialog = new FolderBrowserDialog( ) { ShowNewFolderButton = true, Description = "해당 웹툰을 어디에 저장하시겠습니까?" }; if (dialog.ShowDialog( ) == DialogResult.OK) { Webtoon.BaseDirectory = dialog.SelectedPath; DownloadOptionReturn.Invoke(DownloadOptionResult.DownloadClick, null); } }
private void CHILD_PANEL_UTIL_DELETE_Click(object sender, EventArgs e) { if (NotifyBox.Show(this, "삭제 확인", "선택한 새 게시물 알림을 모두 삭제하시겠습니까?", NotifyBoxType.YesNo, NotifyBoxIcon.Warning) != NotifyBoxResult.Yes) { return; } this.CHILD_PANEL_UTIL_ALL_SELECT_privClicked = false; int count = 0; foreach (Control i in this.NOTIFY_PANEL.Controls) { if (i.Name != "NotifyChildPanel") { continue; } if (!(( NotifyChildPanel )i).CHECKED) { continue; // 선택되지 않은 알림은 삭제하지 않음 } Notify.Remove((( NotifyChildPanel )i).THREAD_ID, true, true); // noRefresh, noSave 모드로 알림 삭제 count++; Application.DoEvents( ); } // 마스크 기능 시험 사용 Notify.Save( ); RefreshNotifyPanel( ); NotifyBox.Show(this, "삭제 완료", "선택한 " + count + " 개의 새 게시물 알림을 삭제했습니다.", NotifyBoxType.OK, NotifyBoxIcon.Information); }
//private void ColorAnimation( NotifyChildPanelColorAnimation type, bool enable ) //{ //if ( colorAnimationTimer != null ) //{ // colorAnimationTimer.Stop( ); // colorAnimationTimer.Dispose( ); // colorAnimationTimer = null; //} //BackgroundDrawer = new SolidBrush( Color.FromArgb( BackgroundDrawer.Color.A, Color.Gold ) ); //colorAnimationTimer = new Timer( ) //{ // Interval = 10 //}; //colorAnimationTimer.Tick += delegate ( object sender, EventArgs e ) //{ // if ( BackgroundDrawer.Color.A == ( enable ? 50 : 0 ) ) // { // colorAnimationTimer.Stop( ); // colorAnimationTimer.Dispose( ); // colorAnimationTimer = null; // return; // } // float a = BackgroundDrawer.Color.A; // a = Utility.Lerp( a, ( enable ? a + 10 : a - 10 ), 0.1F ); // BackgroundDrawer.Color = Color.FromArgb( Utility.Clamp( ( int ) a, 50, 0 ), BackgroundDrawer.Color ); // this.Invalidate( ); //}; //colorAnimationTimer.Start( ); //} private void NOTIFY_DELETE_BUTTON_Click(object sender, EventArgs e) { if (NotifyBox.Show(null, "삭제 확인", "이 알림을 삭제하시겠습니까?", NotifyBoxType.YesNo, NotifyBoxIcon.Warning) == NotifyBoxResult.Yes) { Notify.Remove(this.THREAD_ID); } }
private void Webtoon_DownloadFinished(bool success) { if (success) { GC.Collect(0, GCCollectionMode.Forced); // 쓰레드가 강제 종료된 후 메모리를 정리하기 위해 GC 강제 실행 if (downFinishShutDownCheckBox.Checked) { UIStatusVar = UIStatus.Idle; //System.Diagnostics.Process.Start( "shutdown", "/s /f /t 60" ); // 시스템 종료 Win32.InitiateSystemShutdown("\\\\127.0.0.1", // 컴퓨터 이름 null, // 종료 전 사용자에게 알릴 메시지 60, // 종료까지 대기 시간 false, // 프로그램 강제 종료 여부(false > 강제 종료) false // 시스템 종료 후 다시 시작 여부(true > 다시 시작) ); new ShutdownNotify( ).ShowDialog( ); return; } System.Diagnostics.Process.Start("explorer.exe", Webtoon.BaseDirectory); UIStatusVar = UIStatus.Idle; NotifyBox.Show(this, "다운로드 완료", "다운로드를 모두 마무리했습니다.", NotifyBoxType.OK, NotifyBoxIcon.Information); } else { UIStatusVar = UIStatus.Idle; } }
private void DisplayNotifyBox(string title, string message, int duration) { this.Dispatcher.Invoke(() => { NotifyBox.Show(null, title, message, new TimeSpan(0, 0, duration), false); }); }
private void Notify(string title, string message, TimeSpan timeTicks) { NotifyBox.Show( (DrawingImage)this.FindResource("FolderDrawingImage"), title, message, timeTicks); }
/// <summary> /// The on show notify box. /// </summary> /// <param name="sender"> The sender. </param> /// <param name="e"> The event arguments. </param> private void OnShowNotifyBox(object sender, RoutedEventArgs e) { NotifyBox.Show( (DrawingImage)this.FindResource(this.NotifyBoxIconTextBox.Text), this.NotifyBoxTitleTextBox.Text, this.NotifyBoxMessageTextBox.Text, this.IsDoubleHeightCheckBox.IsChecked.Value); }
private void CLOSE_BUTTON_Click(object sender, EventArgs e) { NotifyBoxResult result = NotifyBox.Show(this, "질문", "다운로드를 취소하시겠습니까?", NotifyBoxType.YesNo, NotifyBoxIcon.Question); if (result == NotifyBoxResult.Yes) { DownloadOptionReturn.Invoke(DownloadOptionResult.Cancel, null); } }
private void AGREE_BUTTON_Click(object sender, EventArgs e) { if (NotifyBoxResult.Yes == NotifyBox.Show(this, "경고", "본 소프트웨어 저작자 혹은 저작권자는 이 소프트웨어와 연관되어 발생하는 어떠한 법적 문제에 책임을 지지 않습니다.", NotifyBoxType.YesNo, NotifyBoxIcon.Warning)) { GlobalVar.copyrightAgree = true; this.Close( ); } }
public void BuildList( ) { this.MEMBER_ACTIVITY_STOP_LIST_PANEL.Controls.Clear( ); ChangeUIStatus(true); Task.Factory.StartNew(() => { Tuple <bool, List <MemberActivityStopListStruct>, string> data = NaverRequest.GetMemberActivityStopList( ); if (data.Item1) { int y = 0; if (this.InvokeRequired) { this.Invoke(new Action(() => { this.MEMBER_ACTIVITY_STOP_LIST_COUNT_LABEL.Text = data.Item2.Count + "명의 활동 정지된 회원이 있습니다."; foreach (MemberActivityStopListStruct i in data.Item2) { MemberActivityStopListChild panel = new MemberActivityStopListChild(i); panel.Location = new Point(10, y); y += panel.Height + 5; this.MEMBER_ACTIVITY_STOP_LIST_PANEL.Controls.Add(panel); } ChangeUIStatus(false); })); } else { this.MEMBER_ACTIVITY_STOP_LIST_COUNT_LABEL.Text = data.Item2.Count + "명의 활동 정지된 회원이 있습니다."; foreach (MemberActivityStopListStruct i in data.Item2) { MemberActivityStopListChild panel = new MemberActivityStopListChild(i); panel.Location = new Point(10, y); y += panel.Height + 5; this.MEMBER_ACTIVITY_STOP_LIST_PANEL.Controls.Add(panel); } ChangeUIStatus(false); } } else { NotifyBox.Show(this, "오류", "죄송합니다, 활동 정지 데이터를 불러올 수 없습니다,\n\n" + data.Item3, NotifyBoxType.OK, NotifyBoxIcon.Error); } }); }
private bool APP_TITLE_BAR_BeginClose( ) { if (NotifyBox.Show(this, "다운로드 취소", "Cancel", "정말로 다운로드를 취소하시겠습니까?", NotifyBox.NotifyBoxType.YesNo, NotifyBox.NotifyBoxIcon.Warning) == NotifyBox.NotifyBoxResult.Yes) { this.ForceClosed = true; return(true); } return(false); }
private void BT_EditAdmin_Click(object sender, RoutedEventArgs e) { if (DG_Admin.SelectedIndex != -1) { OpenEditAdminOverlay(); } else { NotifyBox.Show(null, "ERROR", "No admin selected to edit", new TimeSpan(0, 0, 2), false); } }
private void BT_EditCity_Click(object sender, RoutedEventArgs e) { if (DG_Cities.SelectedIndex != -1) { OpenEditCityOverlay(); } else { NotifyBox.Show(null, "Cannot edit", "Please select a city to edit", new TimeSpan(0, 0, 2), false); } }
private void WARN_RUN_BUTTON_Click(object sender, EventArgs e) { if (warnCount <= 0 || warnCount > 10) { NotifyBox.Show(this, "오류", "경고 횟수는 1~10 사이여야 합니다.", NotifyBoxType.OK, NotifyBoxIcon.Warning); return; } if (this.REASON_TEXTBOX.Text.Trim( ).Length == 0) { NotifyBox.Show(this, "오류", "경고 진술을 작성해야 합니다.", NotifyBoxType.OK, NotifyBoxIcon.Warning); return; } if (NotifyBox.Show(this, "경고", "닉네임 : " + this.nickName + "\n경고 횟수 : " + this.warnCount + "회\n진술 : " + this.REASON_TEXTBOX.Text + "\n\n모든 정보를 다시 확인하시고 확인 버튼을 눌러주세요 ^.^", NotifyBoxType.YesNo, NotifyBoxIcon.Danger) == NotifyBoxResult.Yes) { if (NotifyBox.Show(this, "경고", "정말로 정말로!!! " + this.nickName + " 회원에게 경고를 부여하시길 원하십니까?", NotifyBoxType.YesNo, NotifyBoxIcon.Danger) == NotifyBoxResult.Yes) { this.WARN_RUN_BUTTON.ButtonText = "서버와 통신하는 중 ..."; // Item1 : Success boolean; // Item2 : Error reason string; Tuple <bool, string> result = NaverRequest.WriteMemberWarningThread(nickName, warnCount, this.REASON_TEXTBOX.Text.Trim( )); if (result.Item1) { //switch ( warnCount ) //{ // case 3: // ChatSendUsingHelper( "<우윳빛깔 카페스탭 경고 안내>\r\n\r\n용의자 닉네임 : " + this.nickName + "\r\n경고 횟수 : " + this.warnCount + "회\r\n진술 : " + this.REASON_TEXTBOX.Text + "\r\n\r\n경고 처리했습니다, 지정된 규정에 따라 <활동정지 7일> 처리 바랍니다. >.<~" ); // break; // case 6: // ChatSendUsingHelper( "<우윳빛깔 카페스탭 경고 안내>\r\n\r\n용의자 닉네임 : " + this.nickName + "\r\n경고 횟수 : " + this.warnCount + "회\r\n진술 : " + this.REASON_TEXTBOX.Text + "\r\n\r\n경고 처리했습니다, 지정된 규정에 따라 <활동정지 30일> 처리 바랍니다. >.o~" ); // break; // case 10: // ChatSendUsingHelper( "<우윳빛깔 카페스탭 경고 안내>\r\n\r\n용의자 닉네임 : " + this.nickName + "\r\n경고 횟수 : " + this.warnCount + "회\r\n진술 : " + this.REASON_TEXTBOX.Text + "\r\n\r\n경고 처리했습니다, 지정된 규정에 따라 <강제탈퇴> 처리 바랍니다. -.-;;" ); // break; //} NotifyBox.Show(this, "경고 부여 완료", "경고 부여를 성공적으로 완료했습니다, 경고 게시판 페이지가 열립니다, 아래 사항을 꼭 확인해주세요!\n\n> 다른 스탭 분들이 이미 경고를 부여했는지 여부\n> 게시물 알림을 뒤늦게 확인한 후 경고를 부여할 시 용의자 닉네임이 다를 수 있으니 닉네임 변경 여부 확인", NotifyBoxType.OK, NotifyBoxIcon.Danger); Utility.OpenWebPage(GlobalVar.CAFE_WARNING_ARTICLE_URL, this); this.Close( ); } else { NotifyBox.Show(this, "오류", "죄송합니다, 경고 부여를 하는 도중 오류가 발생했습니다.\n\n" + result.Item2, NotifyBoxType.OK, NotifyBoxIcon.Error); this.WARN_RUN_BUTTON.ButtonText = "경고 부여"; } } } }
private void RESET_AUTOLOGIN_BUTTON_Click(object sender, EventArgs e) { if (NotifyBox.Show(this, "경고", "자동 로그인을 다시 설정하시겠습니까?", NotifyBoxType.YesNo, NotifyBoxIcon.Warning) == NotifyBoxResult.No) { return; } this.Close( ); AutoLoginSettingForm Form = new AutoLoginSettingForm( ); Form.ShowDialog( ); }
private void UserWindow_OnLoaded(object sender, RoutedEventArgs e) { var context = this.DataContext as UserViewModel; if (context != null) { NotifyBox.Show( (DrawingImage)this.FindResource("FolderDrawingImage"), context.Settings.Notification, context.Settings.NotificationMessage, new TimeSpan(30000000)); } }
private void openSourceProjectButton_Click(object sender, EventArgs e) { try { System.Threading.Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US"); System.Diagnostics.Process.Start("https://github.com/DeveloFOX-Studio/Webtoon-Downloader"); } catch (Exception ex) { Utility.WriteErrorLog(ex.Message, "Exception"); NotifyBox.Show(this, "오류", "알 수 없는 오류가 발생했습니다, 로그 파일을 참고하세요.", NotifyBoxType.OK, NotifyBoxIcon.Error); } }
private void IMAGE_VIEW_BUTTON_Click(object sender, EventArgs e) { if (BrowserCapture.FileAvailable(this.THREAD_ID)) { if (NotifyBox.Show(null, "질문", "캡처된 게시물 이미지를 보시겠습니까?", NotifyBoxType.YesNo, NotifyBoxIcon.Question) == NotifyBoxResult.Yes) { BrowserCapture.OpenImage(this.THREAD_ID); } } else { NotifyBox.Show(null, "이미지 없음", "이 게시물에 대한 캡처된 이미지가 없습니다.", NotifyBoxType.OK, NotifyBoxIcon.Warning); } }
private void OPTION_6_OBJECT_StatusChanged(object sender, EventArgs e) { if (isInitialize) { return; } Config.Set("ThemeEnable", this.OPTION_6_OBJECT.Status == true ? "1" : "0"); if (this.OPTION_6_OBJECT.Status) { NotifyBox.Show(this, "안내", "테마 제작에 도움을 주신 분 (자른이미지) : 잰(cony****), on(dbxh****)", NotifyBoxType.OK, NotifyBoxIcon.Information); } }
private void FORCE_REFRESH_BUTTON_Click(object sender, EventArgs e) { if (this.FORCE_SYNC_DELAY_TIMER.Enabled) { NotifyBox.Show(this, "오류", "너무 자주 동기화를 시도했습니다, 잠시 후 다시 시도하세요.", NotifyBoxType.OK, NotifyBoxIcon.Warning); return; } if (NotifyBox.Show(this, "지금 동기화", "지금 데이터를 동기화하시겠습니까?", NotifyBoxType.YesNo, NotifyBoxIcon.Question) == NotifyBoxResult.Yes) { Observer.ForceRefresh( ); this.FORCE_SYNC_DELAY_TIMER.Start( ); } }
private static void Main() { Settings.Initialize(); var instanceKey = PathEx.LocalPath.GetHashCode().ToString(CultureInfo.InvariantCulture); using (new Mutex(true, instanceKey, out var newInstance)) { var allowInstance = newInstance; if (!allowInstance) { var instances = ProcessEx.GetInstances(PathEx.LocalPath); var count = 0; foreach (var instance in instances) { if (instance?.GetCommandLine()?.ContainsEx(ActionGuid.UpdateInstance) == true) { count++; } instance?.Dispose(); } allowInstance = count == 1; } if (!allowInstance) { return; } Language.ResourcesNamespace = typeof(Program).Namespace; MessageBoxEx.TopMost = true; Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); if (!ActionGuid.IsUpdateInstance) { var notifyBox = new NotifyBox(); notifyBox.Show(Language.GetText(nameof(en_US.InitializingMsg)), Resources.GlobalTitle, NotifyBoxStartPosition.Center); using (var form = new MainForm(notifyBox)) Application.Run(form.Plus()); return; } using (var form = new MainForm()) Application.Run(form.Plus()); } }
private void CLOSE_BUTTON_Click(object sender, EventArgs e) { if (UIStatusVar == UIStatus.Working) { NotifyBoxResult result = NotifyBox.Show(this, "질문", "다운로드가 현재 진행 중 입니다, 취소하고 프로그램을 종료하시겠습니까?", NotifyBoxType.YesNo, NotifyBoxIcon.Question); if (result == NotifyBoxResult.No) { return; } Webtoon.DownloadThread.Abort( ); Webtoon.DownloadThread = null; } this.Close( ); }
private void DOWNLOAD_BUTTON_Click(object sender, EventArgs e) { if (GlobalVar.DownloadSections != null && GlobalVar.DownloadSections.Count == 0) { NotifyBox.Show(this, "오류", "Error", "다운로드 구간 설정에 의해 다운로드 할 화가 없습니다.", NotifyBox.NotifyBoxType.OK, NotifyBox.NotifyBoxIcon.Warning); return; } // 다운로드 옵션 설정 GlobalVar.BeginDownloadDetailNum = ( int )this.WEBTOON_BEGIN_NUMBER.Value; GlobalVar.EndDownloadDetailNum = ( int )this.WEBTOON_END_NUMBER.Value; GlobalVar.QualityOption = this.QUALITY_VALUE_BAR.Value; GlobalVar.BGMDownloadOption = this.BGM_DOWNLOAD_CHECKBOX.Status; GlobalVar.ViewerCreateOption = this.CREATE_VIEWER_CHECKBOX.Status; this.Close( ); }
private void MEMBER_INFO_OPEN_BUTTON_Click(object sender, EventArgs e) { if (!userSelected) { return; } try { System.Diagnostics.Process.Start("http://cafe.naver.com/CafeMemberNetworkView.nhn?m=view&clubid=" + GlobalVar.CAFE_ID + "&memberid=" + selectedMemberInformation.memberID); } catch (Exception ex) { Utility.WriteErrorLog(ex.Message, Utility.LogSeverity.EXCEPTION); NotifyBox.Show(this, "오류", "죄송합니다, 웹 페이지를 여는 도중 오류가 발생했습니다.", NotifyBoxType.OK, NotifyBoxIcon.Error); } }
static void Main( ) { if (mutex.WaitOne(TimeSpan.Zero, true)) { foreach (System.Drawing.FontFamily ix in (new System.Drawing.Text.InstalledFontCollection( )).Families) { if (ix.Name == "나눔고딕" & ix.IsStyleAvailable(System.Drawing.FontStyle.Bold)) { goto fontFinded; } } Utility.WriteErrorLog("FontNotFound", Utility.LogSeverity.ERROR); NotifyBox.Show(null, "오류", "죄송합니다, 프로그램 실행에 필요한 폰트가 설치되지 않았습니다.", NotifyBoxType.OK, NotifyBoxIcon.Error); Process.GetCurrentProcess( ).Kill( ); return; fontFinded: try { System.Reflection.Assembly.Load("HtmlAgilityPack").GetName( ); System.Reflection.Assembly.Load("System.Net.Json").GetName( ); System.Reflection.Assembly.Load("System.Data.SQLite").GetName( ); } catch (Exception) { Utility.WriteErrorLog("DLLNotFound", Utility.LogSeverity.ERROR); NotifyBox.Show(null, "오류", "죄송합니다, 프로그램 실행에 필요한 파일을 불러오는 중 오류가 발생했습니다.", NotifyBoxType.OK, NotifyBoxIcon.Error); Process.GetCurrentProcess( ).Kill( ); return; } Application.ThreadException += Application_ThreadException; AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; Application.EnableVisualStyles( ); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Main( )); mutex.ReleaseMutex( ); } else { NotifyBox.Show(null, "오류", "죄송합니다, 우윳빛깔 카페스탭이 이미 실행 중 입니다.", NotifyBoxType.OK, NotifyBoxIcon.Warning); } }