![]() |
$banner_comment_start

 |
|
Домой |
Статьи |
RAR-cтатьи |
Форум |
Программирование |
Скачать |
DVD-ROM
|
|
|
|
Новичку |
FAQ |
Ссылки |
Интервью |
Архив |
Новости |
Связь |
|
Сейчас на форуме: crypto, RaMMicHaeL, Ara (+7 невидимых пользователей) |
 |
|
| Посл.ответ |
Сообщение |
|
Создано: 22 мая 2006 06:15:48 Личное сообщение #1
Либо у меня глюк, либо просто за компом пересидел... Ну не могу разобраться, как? Ведь можно 200%!
----- MicroSoft? Is it some kind of a toilet paper?
|
|
|
Создано: 22 мая 2006 07:12:36 Личное сообщение #2 |
|
Создано: 22 мая 2006 10:33:58 Личное сообщение #3
Вот, если кому-нибудь нужно...
void SuspendProcess(DWORD dwProcessID, bool Suspend)
{
THREADENTRY32 te;
HANDLE hSnapshot = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, dwProcessID);
ZeroMemory(&te, sizeof(te));
te.dwSize = sizeof(te);
if(Thread32First(hSnapshot, &te))
do
{
if(te.th32OwnerProcessID == dwProcessID)
{
HANDLE hThread = OpenThread(THREAD_SUSPEND_RESUME, false, te.th32ThreadID);
if(hThread)
{
if(Suspend)
SuspendThread(hThread);
else
ResumeThread(hThread);
CloseHandle(hThread);
}
}
}
while(Thread32Next(hSnapshot, &te));
CloseHandle(hSnapshot);
}
----- MicroSoft? Is it some kind of a toilet paper?
|
|
Создано: 22 мая 2006 17:57:05 Личное сообщение #4
На всякий пожарный:
В процессе саспенда потоков могут быть следующие неприятные ситуации:
1) Поток завершил работу;
2) Были созданы дополнительные потоки, которые не были заморожены.
Поэтому, если точная работа функции критична, нужно проверять ситуацию на эти варианты.
|
 |
|
|
| Вы находитесь на форуме сайта CRACKLAB.RU |
|