Главная страница
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.026 c
3-1106265319
ataker
2005-01-21 02:55
2005.02.20
Програмное создание поля Field в базе данных


1-1107275325
pablo
2005-02-01 19:28
2005.02.20
Декомпелятор дельфи-EXE


3-1106640830
Koala
2005-01-25 11:13
2005.02.20
Помогите разобратся....


1-1107862945
AlexTregubov
2005-02-08 14:42
2005.02.20
Как быстро уменьшить bitmap?


1-1106386797
Саша
2005-01-22 12:39
2005.02.20
Блокировка папок