Форум: "Начинающим";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];
Вниза есть ли функция обратная 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;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.05 c