예제 #1
0
        private void button1_Click(object sender, EventArgs e)
        {
            button1.Enabled = button2.Enabled = false;

            pressDelay   = new BinaryWriter(File.Open("pressDelay", FileMode.Append, FileAccess.Write, FileShare.None));
            nextKeyDelay = new BinaryWriter(File.Open("nextKeyDelay", FileMode.Append, FileAccess.Write, FileShare.None));

            Hooker.s_KeyDown += _keyDown;
            Hooker.s_KeyUp   += _keyUp;
            Hooker.HookKeyboard();
            hooked = true;
        }
예제 #2
0
        private void frmMain_Load(object sender, EventArgs e)
        {
            LoadAllSettings(); //settings only.

            validCondition = (newName) => { return(!_macroPages.Any((page) => page.name.Equals(newName))); };

            _macroPages = new List <MacroPage>();
            _macroPages.Add(new MacroPage("Default", new List <Macro>()));

            LoadMacros();
            CompileAll();
            DisplayCurrentMacroPage();

            UpdateOSD(_macroPages[0].name, 0);
            if (settings._opOSDEnable)
            {
                ShowOSD();
            }


            _frmOsd.FollowTarget = settings._opOSDTarget;
            SetOSDLocked(settings._opOSDLock);

            WindowMonitor.BeginMonitorForeground();

            //trayIcon.ShowBalloonTip(3000, "KeyReplace", "KeyReplace is now running.", ToolTipIcon.Info);

            t = new Thread((ThreadStart) delegate
            {
                Hooker.s_KeyDown += _keyDown;
                Hooker.s_KeyUp   += _keyUp;
                Hooker.HookKeyboard();
                Application.Run();
            }); //we run the keyboard thread on a seperate thread with a message loop
                // courtesy: https://stackoverflow.com/questions/25502960/install-low-level-mouse-hook-in-different-thread


            t.Start();

            Hooker.s_MouseDown += _mouseDown;
            Hooker.s_MouseUp   += _mouseUp;
            Hooker.HookMouse();
            hooked = true;
        }