您的位置:首页 > 其它

挂起进程内所有线程

2013-08-05 14:39 281 查看
void CMFCTestDlg::SuspentProcess(DWORD dwProcessID, bool fSuspend)
{
HANDLE hProcess = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, dwProcessID);
THREADENTRY32 te = { 0 };
te.dwSize = sizeof(te);

if (!hProcess)
{
BOOL bOK = Thread32First(hProcess, &te);
while (bOK)
{
bOK = Thread32Next(hProcess, &te);
if (te.th32OwnerProcessID == dwProcessID)
{
HANDLE hThread = OpenThread(THREAD_SUSPEND_RESUME, FALSE, te.th32ThreadID) ;
if (NULL != hThread)
{
if (fSuspend)
{
SuspendThread(hThread);
}
else
{
ResumeThread(hThread);
}
}
CloseHandle(hThread);
}
}
CloseHandle(hProcess);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: