문제
- 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);
}