Текущий архив: 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.46 MB
Время: 0.044 c