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

Вниз

Подскажите как усыпить процес   Найти похожие ветки 

 
Voyager   (2003-06-03 16:36) [0]

Наподоби SuspendThread для потоков


 
Digitman   (2003-06-03 16:46) [1]

"усыпляй" все потоки процесса


 
Reindeer Moss Eater   (2003-06-03 16:56) [2]

Процессы в Windows ничего не делают, они "существуют". Поэтому усыпить их нельзя.


 
Voyager   (2003-06-03 17:13) [3]

А как получить все потоки процесса если известен сам процесс?


 
Digitman   (2003-06-03 17:25) [4]

в общем случае - никак) ... в любом случае snapshot будет ! пока "усыпляешь" найденные, другие могут стартовать


 
Voyager   (2003-06-03 17:44) [5]

А если усыпить только главный поток?


 
Юрий Зотов   (2003-06-03 18:21) [6]

> Voyager © (03.06.03 17:44)

То другие (если они есть) будут продолжать работать.


 
Voyager   (2003-06-03 19:10) [7]

А какой влаг нужно послать в функцию CreateToolhelp32Snapshot чтобы она сделала слепок потоков конкретного процесса?


 
Voyager   (2003-06-04 14:41) [8]

Ну что, никто не знает?


 
Digitman   (2003-06-04 15:49) [9]

разве в хэлпе не написано ?)


 
Voyager   (2003-06-04 16:19) [10]

Но там есть примечание что, если ставиш TH32CS_SNAPTHREAD то он возращаются все потоки в системе, тоесть второй параметер игнорируется


 
jack128   (2003-06-04 16:57) [11]

Voyager © (04.06.03 16:19)
Если присмотрется, то с структуре THREADENTRY32 обнаружется элемент th32OwnerProcessID...


 
Voyager   (2003-06-04 17:16) [12]

Вот мой код по остановке процесса:



Procedure SuspendProcess(hProcess:Cardinal);
var
handler:thandle;
data:TThreadEntry32;
begin
handler:=CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD ,hProcess);
if handler=1 then AddLog("Неполучилось сделать слепок");

AddLog("Suspend thread of process - "+inttostr(hProcess));
if Thread32First(handler,data) then
begin
if data.th32OwnerProcessID=hProcess then begin
SuspendThread(data.th32ThreadID);
end;
AddLog("Thread - "+inttostr(data.th32ThreadID));
while Thread32Next(handler,data) do begin
if data.th32OwnerProcessID=hProcess then begin
SuspendThread(data.th32ThreadID);
AddLog("Thread - "+inttostr(data.th32ThreadID));
end;
end;
end
else AddLog("Нет Snapshot-а");
CloseHandle(handler);
end;


В лог всегда попадает "Нет Snapshot-а".
Я уже запарился, подскажите где ошибка.



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

Форум: "Основная";
Текущий архив: 2003.06.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.47 MB
Время: 0.006 c
1-50273
GavAl
2003-06-04 15:12
2003.06.16
Форма


3-50202
Ler
2003-05-23 16:19
2003.06.16
Проблема с постановкой задачи.


14-50432
Soft
2003-05-28 11:42
2003.06.16
В чем смысл смысла?


14-50483
Term
2003-05-28 11:42
2003.06.16
Где можно найти RxLIB для 7-й делфи, поделитесь ссылочкой :)))


14-50437
_ALEXey_
2003-05-24 08:40
2003.06.16
Криптография :: Алгоритм DES





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