Example #1
0
        public static int hook(int scanCode, int virtualCode, HookMessage message, HookFlags flags, IntPtr param)
        {
            KeyEvent keyEvent = new KeyEvent();
            keyEvent.scanCode = scanCode;
            keyEvent.virtualCode = virtualCode;
            keyEvent.hookMessage = message;

            int nFlags = (int)flags;

            if ((nFlags & (int)HookFlags.HF_ExtendedKey) > 0)
            {
                keyEvent.extendedKey = true;
            }

            if ((nFlags & (int)HookFlags.HF_AltKeyPressed) > 0)
            {
                keyEvent.altKeyPressed = true;
            }

            if ((nFlags & (int)HookFlags.HF_InjectedKey) > 0)
            {
                keyEvent.injectedKey = true;
            }

            if ((nFlags & (int)HookFlags.HF_KeyPress) > 0)
            {
                keyEvent.keyPress = true;
            }

            if ((nFlags & (int)HookFlags.HF_SentFromLibrary) > 0)
            {
                keyEvent.sentFromLibrary = true;
            }

            form.AddEvent(keyEvent);

            return hookReturnValue;
        }
Example #2
0
 public void AddEvent(KeyEvent keyEvent)
 {
     listBox1.Items.Add(keyEvent);
 }
Example #3
0
        private void FillEventProperties(KeyEvent keyEvent)
        {
            EventPropertiesClear();

            textBox10.Text = keyEvent.scanCode.ToString();
            textBox11.Text = @"0x" + keyEvent.scanCode.ToString("X");
            textBox12.Text = keyEvent.virtualCode.ToString();
            textBox13.Text = @"0x" + keyEvent.virtualCode.ToString("X");

            switch (keyEvent.hookMessage)
            {
                case HookMessage.HM_KEYDOWN:
                    textBox14.Text = "Key Down";
                    break;
                case HookMessage.HM_KEYUP:
                    textBox14.Text = "Key Up";
                    break;
                case HookMessage.HM_SYSKEYDOWN:
                    textBox14.Text = "System Key Down";
                    break;
                case HookMessage.HM_SYSKEYUP:
                    textBox14.Text = "System Key up";
                    break;
                case HookMessage.HM_None:
                    textBox14.Text = "";
                    break;
            }

            if (keyEvent.extendedKey)
            {
                checkBox1.Checked = true;
            }

            if (keyEvent.injectedKey)
            {
                checkBox2.Checked = true;
            }

            if (keyEvent.altKeyPressed)
            {
                checkBox3.Checked = true;
            }

            if (keyEvent.keyPress)
            {
                checkBox4.Checked = true;
            }

            if (keyEvent.sentFromLibrary)
            {
                checkBox5.Checked = true;
            }
        }