zoukankan      html  css  js  c++  java
  • windows C++ 获得一个进程的线程数目

    主要是想实现一个函数,判断本进程是否是多线程。根据情况 显示不同的内容。

    现在还不知道 待补充。。。

    mark。

    研究了一下 去看雪论坛 找了下资料 有一个示例 

    http://bbs.pediy.com/showthread.php?t=98078

    然后 我琢磨了半天 终于写了一个简单的示例

    http://bbs.pediy.com/showthread.php?p=1098221#post1098221

     http://baike.baidu.com/view/589425.htm 这里的也可以。

    #include <TlHelp32.h>
    
    void TestProcessGetThreadNumber() 
    {
    
      int i = 0;
      char Buff[9];
      PROCESSENTRY32 pe32;
      pe32.dwSize = sizeof(pe32);
    
      HANDLE hProcessSnap = ::CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,0);
      if (hProcessSnap == INVALID_HANDLE_VALUE)
      {
        printf("CreateToolhelp32Snapshot 调用失败.\n");
        return ;
      }
      BOOL bMore = ::Process32First(hProcessSnap,&pe32);
    
      HANDLE hProcess;
    
      printf("%-30s %-20s %-20s %-15s\n","szExeFile","th32ProcessID","th32ParentProcessID","cntThreads");
      while(bMore)
      {
        printf("%-30s ",pe32.szExeFile);
        printf("%-20d ",pe32.th32ProcessID);
        printf("%-20d",pe32.th32ParentProcessID);
    
    
        //显示进程的线程数
        printf("%-15d\n",pe32.cntThreads);
    
        bMore = Process32Next(hProcessSnap,&pe32);
        i++;
    
        //pe32.th32ModuleID
      }
        
      printf("进程数:%d\n",i);
      system("pause");
      exit(0);
    }

     

    今天 还遇到的一个问题是 string.data() 出来,使用atoi()获得的int整数,范围 太小了。需要使用atoll 之类的函数,但是没有。

    在 shlwapi.h 库中 有一个可以使用StrToInt64A

    定义为:

    LWSTDAPI_(BOOL)     StrToInt64ExA(__in LPCSTR pszString, __in STIF_FLAGS dwFlags, __out LONGLONG * pllRet);

    第二个参数 填0 即可。1 为十六进制。第一个 是目标 C字符串地址。第三个 参数 是目标 long long的地址。返回值 当然是true false判断是否成功了。

  • 相关阅读:
    找回消失的ubuntu启动选项
    搜索引擎的查询意图识别(关联分析)
    使用Eric构建Caffe应用程序-Baby年龄识别
    使用Caffe预测遇到的问题
    Caffe: Caffe的Python接口
    工厂模式-CaffeNet训练
    caffe特征提取/C++数据格式转换
    Vs2010无法打开文件“Kernel32.lib”、无法打开“libcpmt.lib”"msvcprt.lib"
    编译OpenCV遇到Qmake问题
    caffe学习笔记--跑个SampleCode
  • 原文地址:https://www.cnblogs.com/ayanmw/p/2651745.html
Copyright © 2011-2022 走看看