Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.023 c
1-1107360487
Unknown user
2005-02-02 19:08
2005.02.20
Непонятная мне странность.


14-1106885953
X9
2005-01-28 07:19
2005.02.20
Вопрос радиоэлектронщикам - ремонт "Кометы 225-1 Стерео"


6-1102718598
pipll
2004-12-11 01:43
2005.02.20
Индикатор загрузки сети


1-1107704675
Gear99
2005-02-06 18:44
2005.02.20
Как создать одно всплывающее окно из другого?


14-1107250889
kai
2005-02-01 12:41
2005.02.20
оценка проекта




   Наверх