Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.09.10;
Скачать: CL | DM;

Вниз

а есть ли функция обратная getwindowthreadprocessid   Найти похожие ветки 

 
redlord   (2006-08-22 12:02) [0]

getwindowthreadprocessid(hnd,pid) получаем pid по хенделу

а есть ли функция обратная етой которая позволяет получить хендел зная pid ?


 
clickmaker ©   (2006-08-22 12:06) [1]


> получить хендел зная pid

хендел чего?


 
redlord   (2006-08-22 12:14) [2]

главного окна проги зная pid процесса в котором она работает


 
DiamondShark ©   (2006-08-22 12:18) [3]


> главного окна проги

У проги нет главного окна.

А получить все окна верхнего уровня можно функцией EnumThreadWindows.


 
redlord   (2006-08-22 12:27) [4]

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


 
Сергей М. ©   (2006-08-22 12:32) [5]


> redlord   (22.08.06 12:27) [4]


И с чего ты решил, что это окно главное ?
Это просто некое окно.. А главное оно или неглавное - это ни тебе ни мне не ведомо)

Так что см. [3]


 
redlord   (2006-08-22 17:10) [6]

тобиш  что я назвал главным окном на самом деле называется окном верхнего уровня ?


 
Сергей М. ©   (2006-08-22 17:13) [7]

Ну что-то типа того.
Правда нет никаких ограничений на создание приложением в ходе его работы множества окон верхнего уровня. Вопрос тебе на засыпку: какое из них можно считать главным ?


 
redlord   (2006-08-22 18:20) [8]

to Сергей

чтото я не понял почему в приведенном примере в функции возврата
hnd не равен  param ?
//-----------------------------------------------------------------
function EnumThreadWndProc(HND: hwnd;PARAM :lParam):boolean;
begin
showmessage("hwnd: "+ inttostr(hnd)+" Lparam: "+inttostr(param));
result:=true;
end;
//-----------------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var thrdid :word;
n:integer;
begin
ThrdID:= GetWindowThreadProcessId(form1.Handle,nil);
EnumThreadWindows(thrdid,@EnumThreadWndProc,form1.Handle);
end;


 
DiamondShark ©   (2006-08-22 18:27) [9]

во-первых, callback-функция должна иметь модель вызова stdcall (!)

во-вторых, а с чего это там что-то чему-то должно быть равно?


 
redlord   (2006-08-22 19:50) [10]

stdcall помог про него то я забыл

а как получить threadid главной нити приложения не перелопачивая список
запущенных процессов.
веть ето приложение запускает моя прога


 
begin...end ©   (2006-08-22 20:03) [11]

> redlord   (22.08.06 19:50) [10]

> а как получить threadid главной нити приложения не перелопачивая
> список запущенных процессов.
> веть ето приложение запускает моя прога

CreateProcess + PROCESS_INFORMATION.dwThreadId


 
Leonid Troyanovsky ©   (2006-08-22 20:09) [12]


> redlord   (22.08.06 19:50) [10]

> а как получить threadid главной нити приложения не перелопачивая
> список


Таких торжественных имен как "главная нить" тоже нет.
На худой конец это "primary thread".
См. также TProcessInformation.dwThreadId

--
Regards, LVT.



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

Текущий архив: 2006.09.10;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.051 c
2-1156119958
Ref
2006-08-21 04:25
2006.09.10
таблица Excel


15-1155618462
Ega23
2006-08-15 09:07
2006.09.10
С Днём рождения! 15 августа


15-1155749638
VictorT
2006-08-16 21:33
2006.09.10
Притащился от формы регистрации на форуме


2-1155901739
mira
2006-08-18 15:48
2006.09.10
Помогите кто-нибудь


15-1155020125
QuickFinder
2006-08-08 10:55
2006.09.10
Популярность поисковиков