Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2009.06.21;
Скачать: [xml.tar.bz2];

Вниз

как зная 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 вся ветка

Форум: "Начинающим";
Текущий архив: 2009.06.21;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.48 MB
Время: 0.011 c
2-1238238509
sYSeRROR
2009-03-28 14:08
2009.06.21
Агент для КОнтакта


2-1240930943
granddad
2009-04-28 19:02
2009.06.21
Методы контроля своевременного освобождения памяти


15-1239455507
12
2009-04-11 17:11
2009.06.21
Как вывести пользователя из системы?


2-1241610748
dis12345
2009-05-06 15:52
2009.06.21
из какой ячейки вызван DblClick


15-1239973429
12
2009-04-17 17:03
2009.06.21
Сколько в tMemo можно сунуть информации?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский