Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 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.782 c
4-1147542569
Dstr
2006-05-13 21:49
2006.09.10
Правый клик


1-1154084224
Mouserx
2006-07-28 14:57
2006.09.10
Проблема с получением правильного числа при конвертации.


1-1153991453
mega83
2006-07-27 13:10
2006.09.10
Определение Офиса


2-1156081338
Neket
2006-08-20 17:42
2006.09.10
Как задать путь?


3-1151581247
Ищущий
2006-06-29 15:40
2006.09.10
данные хранимки как основа





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский