Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

Как через winapi получить хендел окна другой программы?

badyIoUiy Профи (512), на голосовании 1 день назад
зная только имя .exe файла. так-же как определить когда окно приложения не в фокусе?
Голосование за лучший ответ
СКОРОЖАРКА!!! Гуру (3142) 1 месяц назад
  1. найди процесс и запомни его processid (используй psapi.h). перечисляй окна и проверяй processid (GetWindowThreadProcessId)
  2. зная хэндл окна ты можешь в любой момент узнать его состояние, если хэндл действительный
Рустам Абдрашитов Мыслитель (8536) 1 месяц назад
Чтобы получить хендл окна другой программы, зная только имя .exe файла, используйте функцию FindWindow. Пример на C++
 HWND hwnd = FindWindow(NULL, L"Имя окна"); 
Если нужно найти окно по имени процесса, используйте EnumProcesses для получения всех процессов и OpenProcess для их идентификации.
Для определения, когда окно не в фокусе, используйте GetForegroundWindow и сравните его с вашим хендлом. Если они не совпадают, окно не активно.
Дополнительные функции: AttachThreadInput может помочь в управлении фокусом между потоками.
badyIoUiyПрофи (512) 1 месяц назад
я хз какое там имя окна, у меня есть только имя exe файла
Похожие вопросы