怎样枚举系统中的进程和进程的线程??
EnumProcesses()怎么用,需要什么库? 问题点数:0、回复次数:9Top
1 楼kingcom_xu(冷羽)回复于 2003-02-02 00:17:12 得分 0
Requirements
Windows NT/2000/XP: Included in Windows NT 4.0 and later.
Windows 95/98/Me: Unsupported.
Header: Declared in Psapi.h.
Library: Use Psapi.lib.
Top
2 楼kingcom_xu(冷羽)回复于 2003-02-02 00:17:31 得分 0
win9x不支持Top
3 楼kingcom_xu(冷羽)回复于 2003-02-02 00:17:45 得分 0
http://www.csdn.net/Develop/Read_Article.asp?Id=15817Top
4 楼Jacky_Wu(悖)回复于 2003-02-05 02:16:23 得分 0
《windows 核心编程》有现成例子Top
5 楼ydtj829(按程序做事)回复于 2003-02-10 09:08:28 得分 0
使用钩子程序。西蒙舒思特公司的windows95 API程序设计一书有例子。Top
6 楼liuhongyong(荒原困兽)回复于 2003-02-10 18:11:58 得分 0
用ToolHelp,不过WINDOWS98不支持。Top
7 楼ydtj829(按程序做事)回复于 2003-02-11 08:56:19 得分 0
那本书上有例子。toolhelp,hook什么的。Top
8 楼xzygod(急风知劲草)回复于 2003-02-11 14:02:17 得分 0
//获取组件当前运行的线程数量,并将线程数量限制到配置的数量内
int GetThreadCount(int iThreads)
{
iThreadCount = 1; //线程数量变量
HANDLE hCount = NULL; //Toolhelp句柄
HANDLE hThread = NULL;
THREADENTRY32 sThread = {0}; //线程结构
sThread.dwSize = sizeof(THREADENTRY32);
DWORD dwProcessID = 0;
dwProcessID = GetCurrentProcessId();
hCount = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD,0); //调用CreateToolhelp32Snapshot获取其句柄
if(hCount == INVALID_HANDLE_VALUE) //如果调用失败
{
}
//以下遍历系统中所有线程并找出属于当前进程的线程
if(Thread32First(hCount,&sThread) && iThreadCount != -1)
{
while(Thread32Next(hCount,&sThread))
{
if(sThread.th32OwnerProcessID == dwProcessID) //如果是当前进程的线程
{
iThreadCount++;
}
}
}
return iThreadCount;
}Top
9 楼devil97518(天使也会疯)回复于 2003-02-12 11:10:37 得分 0
不是有很多这样的例子嘛Top




