- 注册时间
 - 2010-7-27
 
- 最后登录
 - 2017-6-13
 
- 在线时间
 - 3 小时
 
 
 
 
 
编程入门 
  
	- 魔鬼币
 - 561 
 
 
 
 | 
 
主要使用的下面几个函数: 
1、CreateToolhelp32Snapshot 
2、Thread32First 
3、Thread32Next 
 
所以要引用下面的头文件: 
#include <tlhelp32.h>   
 
 
枚举线程的代码如下: 
// 枚举系统当前所有线程信息   
// 并把信息输出到工程目录下EnumInfo_thread.txt   
BOOL EnumThreadInfo ()   
{   
    // 定义线程信息结构   
    THREADENTRY32 te32 = {sizeof(THREADENTRY32)} ;   
   
    //创建系统线程快照   
    HANDLE hThreadSnap = CreateToolhelp32Snapshot ( TH32CS_SNAPTHREAD, 0 ) ;   
    if ( hThreadSnap == INVALID_HANDLE_VALUE )   
        return FALSE ;   
   
    // 输出线程信息到文件   
    ofstream fout ( "EnumInfo_thread.txt" ) ;   
   
    // 循环枚举线程信息   
    if ( Thread32First ( hThreadSnap, &te32 ) )   
    {   
        do{   
            fout << "ThreadId : "   << te32.th32ThreadID << endl ;   
            fout << '\t' << "OwnerProcessID : " << te32.th32OwnerProcessID << endl ;   
            fout << '\t' << "Usage          : " << te32.cntUsage << endl ;   
            fout << '\t' << "Delta Priority : " << te32.tpDeltaPri << endl ;   
            fout << '\t' << "Base Priority  : " << te32.tpBasePri << endl ;   
        }while ( Thread32Next ( hThreadSnap, &te32 ) ) ;   
    }   
   
    fout.close () ;   
    CloseHandle ( hThreadSnap ) ;   
    return TRUE ;   
}   
 |   
 
 
 
 |