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

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

как зная ID процесса получить хендл окна этого процесса [D7, XP]


бульдозер ©   (2009-04-30 00:37:00) 

всем привет
я запускаю стороннее прилщжение функцыуй

if not CreateProcess(nil,Pchar(Fappfile+' '+fcmd),nil,nil,False,0,nil,nil,si,pi )                      
 then
  begin
    Ferror:='Не удалось запустить';
    Exit;
 end;

она возвращает ид процесса как зная этот ид получить хендл окна этого приложения.


Юрий Зотов   (2009-04-30 09:35:00) [1]

Или, если точно известно, что приложение однопоточное, то EnumThreadWindows


Юрий Зотов   (2009-04-30 09:32:00) [2]

Наверное, самое простое: EnumWindows + GetWindowThreadProcessID


Германн   (2009-04-30 03:04:00) [3]


> > Германн ©   (30.04.09 02:41) [10]
> > Всё-таки в ВалЕнках.
> > Или в Питере и
> > "валенки" пишутся иначе?
> > :)
>
> Не знаю как у вас в столице - но у нас проверочное слово
> для валянки = парадное, булка хлеба и головная боль ;)
>

Знать, я ошибся. :(


шпалоукладчик   (2009-04-30 02:54:00) [4]


> Игорь Шевченко ©   (30.04.09 02:31) [8]
> Но тут такой момент - и диспетчер задач и таскбар у проводника они все пляшут от окон, а не от "имеются процессы а теперь мы для каждого окно найдем и покажем"
>
> Да и зачем такое "окно процесса" искать тоже непонятно.

Думаю потому, что он этот процес только что сам родил через CreateProcessно какой хендл система выделила для главного окна - непонятно...


> Германн ©   (30.04.09 02:41) [10]
> Всё-таки в ВалЕнках.
> Или в Питере и
> "валенки" пишутся иначе?
> :)

Не знаю как у вас в столице - но у нас проверочное слово для валянки = парадное, булка хлеба и головная боль ;)


Германн   (2009-04-30 02:47:00) [5]


> шпалоукладчик   (30.04.09 02:24) [7]
>
>
> > Игорь Шевченко ©   (30.04.09 02:21) [6]

А я рад, что самый грамотный Питерский автор вновь проявил себя!


Германн   (2009-04-30 02:41:00) [6]


> шпалоукладчик   (30.04.09 02:24) [7]

Всё-таки в ВалЕнках.
Или в Питере и
"валенки" пишутся иначе?
:)


Игорь Шевченко   (2009-04-30 02:33:00) [7]


> как зная этот ид получить хендл окна этого приложения


а потом приложение оказывается консольным...


Игорь Шевченко   (2009-04-30 02:31:00) [8]

шпалоукладчик   (30.04.09 02:24) [7]

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

Да и зачем такое "окно процесса" искать тоже непонятно.


шпалоукладчик   (2009-04-30 02:24:00) [9]


> Игорь Шевченко ©   (30.04.09 02:21) [6]
> И их показывает диспетчер задач на вкладке "приложения" :)

Ой - если бы мы полагались только на диспетчер задач - то до сих пор ходили бы в валянках под гору за несколько километров :)


Игорь Шевченко   (2009-04-30 02:21:00) [10]


> В некоторых случаях можно принять допущение что они есть


И их показывает диспетчер задач на вкладке "приложения" :)


Германн   (2009-04-30 01:57:00) [11]


> Игорь Шевченко ©   (30.04.09 01:35) [3]
>
> У ПРОЦЕССА НЕТ ОКОН

А зачем кричать?
Игорь, это не в твоём стиле!


шпалоукладчик   (2009-04-30 01:41:00) [12]


> Игорь Шевченко ©   (30.04.09 01:35) [3]
> У ПРОЦЕССА НЕТ ОКОН

Вы абсолютно правы! Но давайте не будем так сильно придираться к строительной технике :)

В некоторых случаях можно принять допущение что они есть, к примеру если главная нить процесса порождает одно "главное" окно - то в таком случае можно узнать его хендл через ID процесса.

Что впрочем и указал в ссылке на тему уважаемый DVM ©   (30.04.09 01:03) [2]


Игорь Шевченко   (2009-04-30 01:35:00) [13]

У ПРОЦЕССА НЕТ ОКОН


Германн   (2009-04-30 01:03:00) [14]


> как зная этот ид получить хендл окна этого приложения.

Какого окна? Их как правило более одного!


DVM   (2009-04-30 01:03:00) [15]

http://www.delphimaster.ru/cgi-bin/forum.pl?id=1231256834&n=5


Наверх

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