Как отправить нажатие клавиши "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

Другие вопросы по тегам