首页
社区
课程
招聘
菜鸟之线程问题
发表于: 2010-10-18 15:43 3650

菜鸟之线程问题

2010-10-18 15:43
3650

#include <windows.h>
#include<iostream>
#include <tlhelp32.h>
int main()
{
HANDLE hProcessSnap =CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
if(hProcessSnap!=INVALID_HANDLE_VALUE)
{
THREADENTRY32 te={sizeof(te)};
BOOL fok=Thread32First(hProcessSnap,&te);
for(;fok;fok=Thread32Next(hProcessSnap,&te))
{
if(te.th32OwnerProcessID==0)
{
HANDLE hThread=OpenThread(THREAD_SUSPEND_RESUME,FALSE,te.th32OwnerProcessID);
if(hThread!=NULL)
{
SuspendThread(hThread);

}
else
{
ResumeThread(hThread);

}
}
CloseHandle(hThread);
}
CloseHandle(hProcessSnap);
}
return 0;
}



代码写的很烂.小弟不知道为什么.线程暂停不了...希望大哥们能给点指点..

[课程]Android-CTF解题方法汇总!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 221
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
记得某人说过,有些线程是挂不起来的
2010-10-18 21:44
0
雪    币: 245
活跃值: (16)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
LZ代码风格确实不感恭维,这句语句有问题HANDLE hThread=OpenThread(THREAD_SUSPEND_RESUME,FALSE,te.th32OwnerProcessID);

应该改为HANDLE hThread=OpenThread(THREAD_SUSPEND_RESUME,FALSE,te.th32ThreadID);
你要获取的是指定线程的句柄
2010-10-19 09:47
0
雪    币: 29
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
就是OpenThread的第三个参数错了,改成te.th32ThreadID,应该就可以了
2010-10-19 11:52
0
游客
登录 | 注册 方可回帖
返回
//