Перемещение фокуса на консоль opencv C++

У меня есть c++ консольное приложение, которое создает opencv окно.

я использую cvWaitKey(1) чтобы поймать нажатия клавиш клавиатуры.

Вот что я хотел бы сделать:

Когда пользователь нажимает s ключ, я бы хотел, чтобы он что-то набрал в консоли. Однако для этого после нажатия s ему нужно вручную щелкнуть окно консоли (чтобы сфокусироваться на нем), а затем он может ввести текст.

Можно ли перенести фокус на консоль, сгенерировавшую изображение opencv, а затем перенести его обратно в окно opencv?

1 ответ

Решение

Для проверки окон

HWND WINAPI GetConsoleWindow(void);

,

HWND WINAPI FindWindow(
  _In_opt_  LPCTSTR lpClassName,
  _In_opt_  LPCTSTR lpWindowName
);

а также

BOOL WINAPI SetForegroundWindow(
  _In_  HWND hWnd
);

методы.

Окна OpenCV имеют имя класса "HighGUI class".

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