Latest post of the previous page:
Так и есть. Вот нацарапал примерчик, когда при перехвате ввода символа '{' мы пытаемся нажать в редакторе Enter, а получается ShiftEnter и вместо перехода на новую строку получаем вставку в текущую позицию имени редактируемого файла:Code: Select all
intptr_t WINAPI ProcessEditorInputW(const struct ProcessEditorInputInfo *Info)
{
if
(
(Info->Rec.EventType != KEY_EVENT && Info->Rec.EventType != 0x8001) ||
Info->Rec.Event.KeyEvent.bKeyDown == 0
) return (PROCESS_EVENT);
if ((Info->Rec.EventType == KEY_EVENT) && (Info->Rec.Event.KeyEvent.uChar.UnicodeChar == L'{'))
{
INPUT_RECORD tr;
tr.EventType = KEY_EVENT;
tr.Event.KeyEvent.bKeyDown = true;
tr.Event.KeyEvent.wRepeatCount = 1;
tr.Event.KeyEvent.wVirtualKeyCode = VK_RETURN;
tr.Event.KeyEvent.wVirtualScanCode = 0;
tr.Event.KeyEvent.uChar.UnicodeChar = 0;
tr.Event.KeyEvent.dwControlKeyState = 0;
::Info.EditorControl (-1, ECTL_PROCESSINPUT, 0, &tr);
return IGNORE_EVENT;
}
return (PROCESS_EVENT);
}