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

Вниз

Как получить код возврата потока, вызываемого из другого прилож?   Найти похожие ветки 

 
Tatianka   (2004-12-29 17:18) [0]

В первом приложении вызывается второго через CreateProcess(PChar(GetCurrentDir+"\FindVirtMem\Project1.exe"), nil, nil, nil,
              false, NORMAL_PRIORITY_CLASS, nil, nil, StartUpInfo, ProcessInfo);

Во втором приложении создается поток, который ищет максим. возможный размер резервирования вирт.памяти. Поток возвращает этот найденный размер.
Как мне из первого приложения, не используя WaitForSingleObject, получить код возврата этого потока?


 
Игорь Шевченко ©   (2004-12-29 17:23) [1]

Никак. Или передавать Handle потока в первое приложение, делать DuplicateHandle и GetExitCodeThread. Оно сложнее.

С уважением,


 
Digitman ©   (2004-12-29 18:09) [2]


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


дурь.
причем несусветная.


 
GuAV ©   (2004-12-29 18:21) [3]

Игорь Шевченко ©   (29.12.04 17:23) [1]

А разве нельзя найи через ToolHelp и получить код через GetExitCodeThread ?


 
Игорь Шевченко ©   (2004-12-30 12:41) [4]

GuAV ©   (29.12.04 18:21) [3]

А это как ? :) Через ToolHelp видно, что это именно нужный поток ? :)

С уважением,


 
Хакер ©   (2004-12-30 12:57) [5]

Digitman ©   (29.12.04 18:09) [2]

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

это случайно не 4Гб ?


 
GuAV ©   (2004-12-30 13:11) [6]

Игорь Шевченко ©   (30.12.04 12:41) [4]
Через ToolHelp видно, что это именно нужный поток ? :)


Видно, если он единственный поток с таким приоритетом :) Или единственный из неосновных, т.к. id основного уже в ProcessInfo :)


 
Digitman ©   (2004-12-30 17:09) [7]


> Хакер ©   (30.12.04 12:57) [5]
> это случайно не 4Гб ?


с т.з. прикл.процесса на НТ-платформе это даже меньше в 2 раза
и то - в теории.
на практике процесс, озабоченный этим, никогда не получит те самые вожделенные 2Гб, ибо его молдули сами "живут№ в тех же 2-х Гб, "любезно предоставляемых" системой в ходе создания процесса

я уже не говорю о фрагментации.


 
Fay ©   (2004-12-30 17:16) [8]

2 Tatianka   (29.12.04 17:18)
GetCurrentDir - это для чего?


 
Tatianka   (2004-12-30 17:39) [9]

GetCurrentDir - возвращает текущую директорию, из которой запускалось первое приложение.
Чтобы возпользоваться GetExitCodeThread надо, чтобы процес уже был завершен (я так понимаю, возможно это неправильно).

Как сделано у меня: во втором приложении поток посылает сообщение WM_USER+1 первому (сообщает свой handle). Второе приложение я не завершаю, а просто приостанавливаю поток. В первом при получении сообщения WM_USER+1 использую DuplicateHandle и GetExitCodeThread. Но это мне не дает желаемого результата. Не могу понять где ошибка.


 
Fay ©   (2004-12-30 18:55) [10]

2 Tatianka   (30.12.04 17:39) [9]
>> GetCurrentDir - возвращает текущую директорию, из которой
>> запускалось первое приложение
А вот и нет.



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

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

Наверх




Память: 0.49 MB
Время: 0.049 c
14-1106817355
Vaitek
2005-01-27 12:15
2005.02.20
Школьная геометрия


1-1107801599
Fanny
2005-02-07 21:39
2005.02.20
Что за файл xolehlp.dll?


14-1106901855
syte_ser78
2005-01-28 11:44
2005.02.20
Прозрачный фон


14-1107154888
Ozone
2005-01-31 10:01
2005.02.20
Пенсионный фонд


1-1107451655
HF-Trade
2005-02-03 20:27
2005.02.20
Народ, есть ли разница между Visible.True False и Show Hide