Главная страница
    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.46 MB
Время: 0.044 c
14-1107338274
syte_ser78
2005-02-02 12:57
2005.02.20
блин!


4-1104157281
Chaser
2004-12-27 17:21
2005.02.20
Как реализовать технологию видео-перехвата (как у RAdmin)?


14-1107109482
Zeqfreed
2005-01-30 21:24
2005.02.20
Не могу понять


3-1104861881
Alex_S
2005-01-04 21:04
2005.02.20
Восстановление строк DBGrid после перезагрузки таблицы TQuery.


1-1107347080
Dmitry_04
2005-02-02 15:24
2005.02.20
Скинообразная форма непрямоугольногоя





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский