Как установить фокус ввода для приложения, которое не находится на переднем плане в Windows? - PullRequest
0 голосов
/ 21 октября 2010

Я хочу, чтобы мое приложение захватывало фокус ввода всякий раз, когда на него наведена мышь. Как мне это сделать в Windows?

Обычно я не хочу, чтобы пользователи явно нажимали на приложение или значок на панели задач перед вводом текста, когда приложение не на переднем плане.

Я попробовал SetForegroundWindow API в уведомлении о наведении курсора мыши, но на панели задач только мигает значок.

Есть предложения?

Ответы [ 3 ]

1 голос
/ 21 октября 2010

Не уверен, куда должен попасть фокус.Но если к открытому окну то фальшивый щелчок мышью с SendInput ().

0 голосов
/ 26 октября 2010

Есть 3 способа сделать окно активным

  1. Используйте SetActiveWindow API, чтобы сделать ваше окно активным.
  2. Перечислите все окна, получите дескриптор окна и сделайте окно переднего плана.
  3. Использовать AllowSetForegroundWindow API, который принимает processid в качестве параметра и делает этот процесс активным.
0 голосов
/ 21 октября 2010

Попробуйте GetDlgItem (QTIDD_W01_0) -> SetFocus ();// QTIDD_W01_0 - окно экрана

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...