CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
不看会后悔的Windows XP之经验谈 简单快捷DIY实用家庭影院
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  进程/线程/DLL

怎样得到线程ID号?

楼主apao(脑子进水了)2002-10-22 19:19:11 在 VC/MFC / 进程/线程/DLL 提问

已知一个正在运行的进程名称(第三方程序),怎样得到其主线程的id号? 问题点数:26、回复次数:18Top

1 楼xuefl66(xuefl66)回复于 2002-10-22 22:23:17 得分 1

关注中。。。Top

2 楼apao(脑子进水了)回复于 2002-10-23 09:12:18 得分 0

有人知道吗?Top

3 楼foxustc(科狐)回复于 2002-10-23 09:46:44 得分 1

我也想知道Top

4 楼foxustc(科狐)回复于 2002-10-23 09:48:00 得分 1

up一把Top

5 楼zhangyilan(数字通信)回复于 2002-10-23 09:52:11 得分 6

#include   "stdafx.h"  
   
  #include   "Tlhelp32.h"  
  #include   <stdio.h>  
   
  int   main()    
  {    
  HANDLE   hProcessSnap   =   NULL;    
  PROCESSENTRY32   pe32   =   {0};  
  long   FindProcessID=-1;  
  hProcessSnap   =   CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS,   0);    
  if   (hProcessSnap   ==   (HANDLE)-1)    
  {    
  printf("\nCreateToolhelp32Snapshot()   failed:%d",GetLastError());    
  return   1;    
  }    
  pe32.dwSize   =   sizeof(PROCESSENTRY32);    
  if   (Process32First(hProcessSnap,   &pe32))    
  {    
  char   *strProcessName="Qnbvc   Q";  
  do    
  {    
   
  char   *strUpperExeFile=strupr(pe32.szExeFile);  
  if(strstr(strUpperExeFile,strProcessName))  
  {  
  FindProcessID=pe32.th32ProcessID;  
  break;  
  }  
  }  
  while   (Process32Next(hProcessSnap,   &pe32));    
  }    
  if(FindProcessID>0)  
  {  
  char   str[200];  
  sprintf(str,"msdev   -p   %d",FindProcessID);  
  printf("%s",str);  
  //system(str);  
  }  
  CloseHandle   (hProcessSnap);      
  return   0;    
  }    
   
  Top

6 楼bendou16(跳动的心)回复于 2002-10-23 10:17:08 得分 2

EnumProcesses  
  OpenProcess  
  EnumProcessModulesTop

7 楼apao(脑子进水了)回复于 2002-10-23 13:24:09 得分 0

谢谢大家!  
  zhangyilan(数字通信)   :非常感谢,但是你的程序只是得到进程的ID号,那线程的ID号呢?条件放松一点,假设是单线程的。  
  bendou16(跳动的心)   :能详细点吗?谢谢Top

8 楼bendou16(跳动的心)回复于 2002-10-23 15:23:43 得分 1

不太清楚由进程句柄得到线程idTop

9 楼fire_zxv(辉)回复于 2002-10-23 15:39:58 得分 6

AfxGetThread  
  CWinThread*   AfxGetThread(   );  
   
  Return   Value  
   
  Pointer   to   the   currently   executing   thread.  
   
  Remarks  
   
  Call   this   function   to   get   a   pointer   to   the   CWinThread   object   representing   the   currently   executing   thread.   Must   be   called   from   within   the   desired   thread.  
   
  Example  
   
  //Print   the   current   thread   ID   in   the   Debug   Window  
  TRACE("Current   Thread   ID   =   0x%X\n",   AfxGetThread()->m_nThreadID);  
   
  或者这样也可以  
  CWinThread*   pThread   =   AfxBeginThread((AFX_THREADPROC)ComputeThreadProc,   LPVOID(this));  
   
  TRACE("Current   Thread   ID   =   0x%X\n",   pThread->m_nThreadID);  
   
  Top

10 楼apao(脑子进水了)回复于 2002-10-23 16:05:19 得分 0

fire_zxv(辉)   :     我想要的是一个已经运行的别的程序的主线程ID(现在假设是单线程程序),而不是当前线程IDTop

11 楼sunyanzi()回复于 2002-10-24 11:17:02 得分 1

UPTop

12 楼apao(脑子进水了)回复于 2002-10-24 20:34:58 得分 0

upupupTop

13 楼zhangyilan(数字通信)回复于 2002-10-25 10:48:20 得分 2

看看这一篇文章  
  http://www.codeproject.com/system/ntenumthreads.aspTop

14 楼apao(脑子进水了)回复于 2002-11-04 15:10:07 得分 0

uTop

15 楼panch(江湖小子)回复于 2002-11-05 14:33:46 得分 2

其实只要一个函数就行了!  
   
  DWORD   dwThreadId=GetProcessIdFromName("NOTEPAD.EXE");Top

16 楼xikug(xIkUg)回复于 2002-11-05 14:46:36 得分 2

别的线程是吧???  
   
  好吧:  
    HWND   hWnd   =   FindWindow(NULL,   "计算器")   ;  
    DWORD   dwThreadId   =   GetWindowThreadProcessId(hWnd,   NULL)   ;  
   
  dwThreadID就是"计算器"线程ID了Top

17 楼Hu0dingX(火丁)回复于 2002-11-10 18:34:44 得分 1

??Top

18 楼apao(脑子进水了)回复于 2002-12-09 09:21:23 得分 0

谢谢各位,明天结帖Top

相关问题

  • 如何得到自己线程ID
  • 如何在c#中得到线程id!
  • 多线程的程序怎么得到每个线程的名字和ID
  • 得到了线程的ID,如何得到它的句柄?
  • 请问怎么得到进程或者线程的ID
  • 急!!!!!怎样通过线程id得到这个线程的handle?不用OpenThread这个函数
  • 如何得到别的进程(程序)的某个线程的id?
  • 怎样在主线程中得到线程终止事件???
  • 高分求教:如何由窗口所属的线程id得到它的进程id
  • 50分,利马给,已知一个窗口的hwnd和pwnd,如何得到窗口线程id?

关键词

  • 线程
  • null
  • findprocessid
  • hprocesssnap
  • 号
  • pe
  • 程
  • dwthreadid
  • 程序
  • 得到

得分解答快速导航

  • 帖主:apao
  • xuefl66
  • foxustc
  • foxustc
  • zhangyilan
  • bendou16
  • bendou16
  • fire_zxv
  • sunyanzi
  • zhangyilan
  • panch
  • xikug
  • Hu0dingX

相关链接

  • Visual C++类图书
  • Visual C++类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo