Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];

Вниз

Убивание процесса или как найти дочерние процессы   Найти похожие ветки 

 
Bukerman   (2002-12-13 11:04) [0]

Всем здрасьте!
Ищу-ищу, уже с ног сбился, может подскажет кто-нибудь, как найти дочерние процессы какого либо процесса, если известен его PID?
Или какая есть функция кроме TerminateProcess, которая действительно убивает все его дочерние процессы.
Вообще нужно убить консольный процесс по названию окна, я его как бы нахожу, а оказывается что он находит процесс cmd.exe. Хорошо в хелпе читаю, что TerminateProcess убивает и все, связанные с ним процессы, НИФИГА, cmd благополучно убивается, а тот, который мне нужен продолжает висеть.
Или как найти настоящий консольный процесс по названию окна, а не cmd.exe?

Очень надеюсь на помощь.
Влад.


 
Cobalt   (2002-12-13 13:03) [1]

Win32 Programmer"s Reference:
The TerminateProcess function terminates the specified process and all of its threads.
Не процессы, а потоки. Будтье внимательны.
А вообще - перебираешь все процессы, и смотришь, у кого родитель - тот процесс, который тебе нужен.
Можно еще запоминать найденные дочерние процессы, и пройтись еще разок для нахождения "внучатых" (Надеюсь, ты знаком с PSAPI)


 
Bukerman   (2002-12-13 20:51) [2]

Спасибо за отзыв, проблема была в другом, но тоже кстати нужно будет подумать как решить, если я запускал это консольное приложение через батник, то процесс находился cmd.exe, но если запускать с ярлыка, в котором прописан ехешник и параметры, то находит именно этот процесс, который нужен и убивает его!
А какая функция показывает родителя? А то я что-то не найду.


 
Cobalt   (2002-12-13 22:59) [3]

Ну и шуточки же у вас...
type
{$EXTERNALSYM tagPROCESSENTRY32W}
tagPROCESSENTRY32W = packed record
dwSize: DWORD;
cntUsage: DWORD;
th32ProcessID: DWORD; // this process
th32DefaultHeapID: DWORD;
th32ModuleID: DWORD; // associated exe
cntThreads: DWORD;
th32ParentProcessID: DWORD; // this process"s parent process
pcPriClassBase: Longint; // Base priority of process"s threads
dwFlags: DWORD;
szExeFile: array[0..MAX_PATH - 1] of WChar;// Path
end;



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2003.01.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.01 c
1-86854
johny
2003-01-16 10:31
2003.01.27
Совмещение кода C++ & Delphi в однов проекте


14-87019
Дмитрий К.К.
2003-01-08 07:01
2003.01.27
Именинники 8 января


3-86705
Карелин Артем
2003-01-09 15:02
2003.01.27
Message: Cannot create shared resource. (Windows error 5)


8-86975
Новенький в Делфи
2002-10-12 00:16
2003.01.27
Ошибки при загрузки jpeg из TFileStream в TImage


3-86668
Anatoliy
2003-01-08 13:16
2003.01.27
Уважаемые мастера. Помогите пожалуйста с ADO+Access.





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский