|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
||||
|
||||
Приостановка процесса
Привет, люди подскажите, как приостановить и продолжить работу какого-либо процесса, н-р, так как это делают антивирусы и брандмауэры ???
|
#2
|
||||
|
||||
Привет, вот нашел:
Код:
/*/////////////////////////////////////// //Suspend/Resume process by pID *//////////////////////////////////////// BOOL SuspendProcess(DWORD ProcessId, bool Suspend) { HANDLE snHandle = NULL; BOOL rvBool = FALSE; THREADENTRY32 te32 = {0}; snHandle = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, 0); if (snHandle == INVALID_HANDLE_VALUE) return (FALSE); te32.dwSize = sizeof(THREADENTRY32); if (Thread32First(snHandle, &te32)) { do { if (te32.th32OwnerProcessID == ProcessId) { HANDLE hThread = OpenThread(THREAD_SUSPEND_RESUME, FALSE, te32.th32ThreadID); if (!Suspend) { ResumeThread(hThread); } else { SuspendThread(hThread); } CloseHandle(hThread); } } while (Thread32Next(snHandle, &te32)); rvBool = TRUE; } else rvBool = FALSE; CloseHandle (snHandle); return (rvBool); } |