c++ 遍历当前程序的线程

时间:2020-09-27 16:11:16   收藏:0   阅读:98
#include <iostream>
#include <Windows.h>
#include <Psapi.h>
#include <TlHelp32.h>


  HANDLE hSnap = CreateToolhelp32Snapshot(TH32CS_SNAPTHREAD, GetCurrentProcessId());

  if (hSnap != INVALID_HANDLE_VALUE)
  {
    THREADENTRY32 te;
    te.dwSize = sizeof(THREADENTRY32);
    if ( Thread32First(hSnap, &te) )
    {
      do
      {
        if (te.th32OwnerProcessID == GetCurrentProcessId())
        {
          // 关闭线程 ExitThread(te.th32ThreadID);
          printf("pid: %d, tid: %d, 优先级: %d\n", te.th32OwnerProcessID, te.th32ThreadID, te.tpBasePri);
        }
      } while (Thread32Next(hSnap, &te));
    }
  }

  CloseHandle(hSnap);

原文:https://www.cnblogs.com/ajanuw/p/13739017.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!