Ожидание другого окна приложения - PullRequest
0 голосов
/ 04 марта 2011

Каков наилучший способ (с целью оптимизации и использования системных ресурсов) подождать в моем приложении, когда будет показано окно другого приложения?

Например:

  1. Мое приложение запускается.
  2. Ожидание, например, Блокнот будет запущен, чтобы я мог получить дескриптор его окна.
  3. Используя ручку, я делаю что-то с это и затем закрытие моего приложения.

Как выполнить пункт 2? Я знаю только один возможный способ: просто проверьте, существует ли дескриптор в цикле, используя FindWindow. Но я надеюсь, что существует более разумное решение.

Ответы [ 2 ]

2 голосов
/ 04 марта 2011

Я не думаю, что то же самое ... Я думаю, что лучший способ это процесс перехвата окон ... ИСПОЛЬЗОВАНИЕ КРЮЧКОВ

... Пожалуйста, смотрите: WH_CBT и вы должны наблюдать за событием: HCBT_CREATEWND

2 голосов
/ 04 марта 2011

Если вы запустили процесс (с CreateProcess), используйте WaitForInputIdle, а затем запустите цикл FindWindow.Добавление Sleep(20) или чего-то еще в цикл обеспечит минимальное использование ресурсов.

...