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

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

Как узнать ProcessID зная дескриптор (hangle) окна


Delf ©   (2003-07-25 13:36:00) 

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

Проблема вот в чем
Как узнать к какому процесу относится данное окно


Delf   (2003-07-25 16:41:00) [1]

Спасибо вам
Все великолепно работает


SergeySEM   (2003-07-25 15:37:00) [2]

поверь это поможет

procedure TfmWinapi.GetWindowExParams(Wnd: HWND);
var
PParam: array[0..127] of Char;
ProcId: LongInt;
hInst: THandle;
Rct: TRect;
Begin
{Заполняем основную страницу}
edWText.Text:= GetText(wnd); //Заголовок
GetClassName(wnd, PParam, 128); //Класс
lbWClass.caption:= StrPas(PParam);
lbWHandle.caption:= IntToStr(wnd); //Дескриптор
lbWHmenu.caption:=IntToStr(GetMenu(wnd));// Дескриптор меню
ImWIcon.Picture.Icon:=GetIcon(wnd); //Иконка
GetWindowText(GetParent(wnd), PParam, 127);//Заголовок родителя
EdPWText.text:= StrPas(PParam);
lbPWHandle.caption:= IntToStr(GetParent(wnd));//Дескриптор родителя
GetWindowRect(Wnd, Rct);//..Координаты
edWLeft.text:= IntToStr(Rct.Left);
edWTop.text:= IntToStr(Rct.Top);
edWWidth.text:= IntToStr(Rct.Right-Rct.Left);
edWHeight.text:= IntToStr(Rct.Bottom-Rct.Top);
edWRight.text:= IntToStr(Rct.Right);
edWBottom.text:= IntToStr(Rct.Bottom);
lbWDC.Caption:= IntToStr(SelDC); //Дисплейный контекст(DC или Canvas.Handle)
hInst:= GetWindowLong((wnd), GWL_HINSTANCE);//HInstance
lbWHinst.Caption:= IntToStr(hInst);
GetWindowThreadProcessId(wnd, @ProcId);//Идентификатор процесса
lbWProcId.Caption:= IntToStr(ProcId);

end;


Игорь Шевченко   (2003-07-25 14:45:00) [3]

GetWindowThreadProcessId


Наверх

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