Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск нлавного окна запущенного приложения... [D6, Win95/98, WinME, NT4, Win2k, WinXP]


Zaratustra ©   (2004-04-19 18:09:00) 

...по имени ее EXE-файла.
Возможно ли это?
У меня стоит задача: пользователь вводит имя файла запущенной чужой программы и наша прога по этой информации находит главное окно этого приложения и к примеру, сворачивает его. Возможно ли это реализовать? Если да, то подскажите как, плиз.

Заранее благодарен!


VMcL   (2004-04-21 11:49:00) [1]

Поиграем в телепатов. Наверное, имеется в виду top-level окно (окна).


Digitman   (2004-04-21 11:38:00) [2]


> Sur ©   (20.04.04 22:24) [4]

ну здесь действительно вряд ли можно дать точное определение "главного окна приложения"  - уж очень тонка грань между "главным" и неким "неглавным" окном

например, то окно VCL-приложения,  которое соответствует основной форме (MainForm), хоть и обладает некими признаками "главного" (закрытие осн.формы ведет за собой закрытие приложения в целом и т.д. и т.п.), на самом деле таковым не является - "главным окном" здесь, очевидно, следует (с некоторой долей условности) считать то самое невидимое окно, которое самым первым создается в осн.код.потоке объектом Application еще ДО создания окна главной формы , и задача этого окна - обработка win-сообщений уровня приложения в целом


DVM   (2004-04-21 00:05:00) [3]

Нет такого понятия главное окно.


Sur   (2004-04-20 22:24:00) [4]


> Digitman ©  

Я не совсем понял. А что по ващему значит
"главное окно приложения"


Digitman   (2004-04-20 16:51:00) [5]


> У меня стоит


это радует


> главное окно этого приложения


оно, как правило, невизуальное
далеко не его ты видишь в списке закладки "Applications"


Sur   (2004-04-20 15:45:00) [6]

Предлагаю сделал так:
1) с помощчю CreateToolhelp32Snapshot наxодиш PID процесса который тебе интересует,
2) делаеш EnumWindows, а в EnumProc с помощчю функции GetWindowThreadProcessId
наxодиш PID ы процессов этиx окон, ну а дальше перебором.


Игорь Шевченко   (2004-04-19 18:13:00) [7]

Возможно


Наверх

Титульная страница Поиск, карта сайта Написать письмо