문제

- Shift 키와 다른 키를 조합하려고 했을 때 Shift 키가 정상적으로 동작하지 않음

 

원인

- 특수 키들은 별도로 KEYDOWN인 0x02로 호출되고 끝나는 것이 아닌 EXTENDED 키라는 것을 명시해야됨.

 

        public const int KEYEVENTF_KEYDOWN = 0x00;
        public const int KEYEVENTF_EXTENDEDKEY = 0x1;
        public const int KEYEVENTF_KEYUP = 0x02;
        public static void shiftHome()
        {
            keybd_event((int)Keys.ShiftKey, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYDOWN, 0);
            keybd_event((int)Keys.Home, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYDOWN, 0);
            Thread.Sleep(r.Next(MINDELAY, MAXDELAY));
            keybd_event((int)Keys.Home, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
            keybd_event((int)Keys.ShiftKey, 0, KEYEVENTF_EXTENDEDKEY | KEYEVENTF_KEYUP, 0);
        }

 

+ Recent posts