- 注册时间
 - 2021-4-16
 
- 最后登录
 - 2023-11-9
 
- 在线时间
 - 4 小时
 
 
 
 
 
编程入门 
  
	- 龙马币
 - 132 
 
 
 
 
 | 
 
 
主要使用的下面几个函数: 
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 ;  
 
 - } 
 
  复制代码 
 |   
 
 
 
 |