Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.64/47: Рейтинг темы: голосов - 47, средняя оценка - 4.64
14 / 14 / 8
Регистрация: 26.09.2007
Сообщений: 919

Получить hwnd из process id

22.02.2018, 14:15. Показов 8827. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
привет народ. задача- по имени ехе- шника найти его hwnd. мне потом надо сделать для этого окна минимизацию

C++
1
ShowWindow(hwnd, SW_MINIMIZE);


что я делаю - беру CreateToolhelp32Snapshot() и перечисляю процессы - и в цикле, если (например) ехе файл процесса имеет имя chrome.exe (я хочу свернуть окно хрома) - я этот номер процесса заношу в массив- то есть собираю все номера процессов у которых ехе файл chrome.exe (в хроме может быть открыто сразу несколько вкладок плюс какие- то служебные окна).

после того как у меня есть массив с номерами процессов chrome.exe я начинаю перечислять окна при помощи EnumWindows() и когда выполняется перечисление окон я беру по hwnd окна его proc id используя GetWindowThreadProcessId() и тут же проверяю есть ли этот proc id этого окна в массиве процессов chrome.exe- если номера совпадают значит я нашел процесс chrome.exe и могу по этому hwnd минимизировать окно вызвав ShowWindow().

вот такой способ.

вопрос- есть ли какой- то более оптимальный вариант? самый простой FindWindow я знаю, но для него надо знать заголовок окна. А если заголовок окна неизвестен, только знаешь имя ехе файла? например у chrome.exe открыто пять закладок и у каждой свой proc id и свой hwnd и ты не знаешь заголовок окна с закладкой, а надо найти hwnd и свернуть все окно Хрома. есть выход?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.02.2018, 14:15
Ответы с готовыми решениями:

Получить hWnd
Здравствуйте. Пожалуйста, подскажите самый простой способ получить hWnd формы, если я имею точную ссылку на неё. Пользуюсь FindWindow, но...

Получить hwnd окна
Допустим я нахожу hwnd главного окна по названию его класса HWND window=FindWindowEx(NULL,NULL,"my_class",NULL); У етого...

HWND получить из CWnd
Простой вопрос WinExec("calc.exe", 1); CWnd * hWnd; HWND mainHandle; hWnd =...

1
Эксперт С++
 Аватар для _lunar_
3701 / 2836 / 451
Регистрация: 03.05.2011
Сообщений: 5,193
Записей в блоге: 21
22.02.2018, 15:07
https://stackoverflow.com/ques... ocess-id-c
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.02.2018, 15:07
Помогаю со студенческими работами здесь

Получить HWND по pid
Всем доброго времени суток. Кто в курсе как можно по pid получить HWND, делаю так HWND Window(int id) { HWND...

Получить hwnd объекта
Добрый день! С Qt раньше не встречался, прошу помощи. Пытаюсь получить hwnd объекта на форме (windget или frame например). для...

Получить HWND окна
Задача такова - загрузить динамическую dll в чужое приложение и получить HWND окна в которое загрузится dll. dll я загрузил, проверил...

MFC: получить HWND диалога
Есть моя программка-диалог на MFC, и есть код на С, выкачивающий нестандартное видео из драйвера. На MFC с вашей помощью уже смог...

Как получить hWnd ресурса?
как получить hWnd ресурса? Есть у меня на форме ресурса TreeView но для того чтобы туда добавить что то...макрос TreeView_InsertItem...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
Использование SDL3-callbacks вместо функции main() на Android, Desktop и WebAssembly
8Observer8 24.01.2026
Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а привычная функция main(). . .
моя боль
iceja 24.01.2026
Выложила интерполяцию кубическими сплайнами www. iceja. net REST сервисы временно не работают, только через Web. Написала за 56 рабочих часов этот сайт с нуля. При помощи perplexity. ai PRO , при. . .
Модель сукцессии микоризы
anaschu 24.01.2026
Решили писать научную статью с неким РОманом
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru