Главная страница
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.028 c
14-1107237178
Rule
2005-02-01 08:52
2005.02.20
Borland ALM 2005 Ukraine


3-1106245115
Alexandr--
2005-01-20 21:18
2005.02.20
VarbinaryToVarchar ?


9-1099952680
Кто---то
2004-11-09 01:24
2005.02.20
Как в гонках управляются вражеские машины ?


3-1106058019
Бульбаш
2005-01-18 17:20
2005.02.20
Как отменить Post при переходе на другую строку?


14-1107117278
Yuri Btr
2005-01-30 23:34
2005.02.20
глюки форума