Главная страница
    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.46 MB
Время: 0.006 c
7-50543
Dimok
2003-04-11 00:28
2003.06.16
Помогите! Нужно программно влючать/выключать монитор клаву и мышу


14-50461
_0$a_
2003-05-27 23:29
2003.06.16
WinApp рулит


7-50532
nokk9
2003-04-11 02:14
2003.06.16
Телефон


14-50441
Cossys
2003-05-29 11:38
2003.06.16
Под W2000 не пашет Прога, откомпилированая под НТ


1-50375
McSimm2
2003-06-04 10:20
2003.06.16
Как определить имя поля в рекорде?





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