Как отправить нажатие клавиши "TAB" в другую программу?
Я пытаюсь создать программу, которая будет обрабатывать некоторый штрих-код, чтобы сделать его совместимым с онлайн-банкингом. Суть в том, что приложение должно работать с уже открытым окном Firefox. Для обеспечения совместимости приложение должно удалить "." (точки) и вставьте его по частям (всего 5 частей) в окне онлайн-банкинга. Как я могу отправить "вкладку" (например, клавиатуру на клавиатуре) в окно онлайн-банкинга, чтобы переместиться через 5 ящиков для редактирования, которые существуют для частей штрих-кода?
3 ответа
PostMessage(OtherProgramWindow.Handle, WM_KEYDOWN, VK_TAB, 0);
PostMessage(OtherProgramWindow.Handle, WM_KEYUP, VK_TAB, 0);
Итак, я наконец-то нашел лучшее решение проблемы.
Первый:
SetForegroundWindow(Appwin);
Делает это на 100% уверенным, что команда "tab" отправляется в правое окно.
Во-вторых:
Keybd_event(VK_TAB, 0, 0, 0);
Отправьте в это окно клавишу события клавиатуры "TAB".
На Delphi-страницах Torry есть компонент "SendKeys", который позволяет очень легко отправлять нажатия клавиш в другое окно. Он помещает нажатия клавиш в буфер клавиатуры Windows, используя функцию Windows keybd_event.
http://www.torry.net/quicksearchd.php?String=sendkeys&Title=Yes