Вниз
Скачать: CL | DM;

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

← →
бульдозер   (2009-04-30 00:37) [0]

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

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

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


← →
Германн ©   (2009-04-30 01:03) [1]


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

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


← →
DVM ©   (2009-04-30 01:03) [2]

http://delphimaster.net/view/4-1231256834/


← →
Игорь Шевченко ©   (2009-04-30 01:35) [3]

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


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


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

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

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

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


← →
Германн ©   (2009-04-30 01:57) [5]


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

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


← →
Игорь Шевченко ©   (2009-04-30 02:21) [6]


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


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


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


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

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


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

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

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

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


← →
Игорь Шевченко ©   (2009-04-30 02:33) [9]


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


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


← →
Германн ©   (2009-04-30 02:41) [10]


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

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


← →
Германн ©   (2009-04-30 02:47) [11]


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

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


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


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

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


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

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


← →
Германн ©   (2009-04-30 03:04) [13]


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

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


← →
Юрий Зотов ©   (2009-04-30 09:32) [14]

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


← →
Юрий Зотов ©   (2009-04-30 09:35) [15]

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



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.01 c
15-1239929241
AIRDIGER
2009-04-17 04:47
2009.06.21
Пчему падает приложение при вызове BinToHex()


2-1240937555
Андрей (начинающий)
2009-04-28 20:52
2009.06.21
как заставить мигать иконку


13-1124000957
cherrex
2005-08-14 10:29
2009.06.21
COM и .NET


15-1239976857
Dr.Andrew
2009-04-17 18:00
2009.06.21
Как заполнить bitmap неперекрещивающимися фигурами в цикле?


6-1203672859
Strate
2008-02-22 12:34
2009.06.21
Отловить открытие (закрытие) соединения




   Наверх