private void TrayIcon_Shown(object o, EventArgs e) { try { Hide(); GlobalHandle = Handle; Globals.ProgramShutDown = ProgramShutDown; InitFunction.Init(); KeyboardHooker.HookStart(); if (Settings.IsFixClipboard) { ClipboardConverter.FixStart(); } MainWorker.RunWorkers(); commandList.Register("rl", "기", args => Invoke(new Action <string[]>(InitRoomListForm), args)); channel = new ChannelChatForm(); InitBanList(); channel.ChatTimer.Enabled = Settings.IsChannelChatDetect; InitMainForm(); main.Show(); main.Activate(); CheckLatestVersion(); DebugWarcraftOutput(); } catch (Exception ex) { ExceptionSender.ExceptionSendAsync(ex, true); MessageBox.Show(this, "설정 불러오기에 실패하여, 설정을 초기화 해야합니다.", "불러오기 실패", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button1); Application.ExitThread(); Environment.Exit(0); } }
private static async void KeyDebugFunc() { KeyboardHooker.HookEnd(); await Task.Delay(1); KeyboardHooker.HookStart(); }
private static void KeyDebugFunc() { KeyboardHooker.HookEnd(); Delay(1); KeyboardHooker.HookStart(); }
/* Form이 Load 되고, Close 될 때 각각, Hooking이 시작되고 종료되는 사항을 * 반영 하였다. 또한 Load 될 때는, 초기 화면(dashboard)가 표시되도록 하였다.*/ private void Form1_Load(object sender, EventArgs e) { mainBox_Click(null, e); KeyboardHooker.HookStart(); }