CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  VC/MFC >  进程/线程/DLL

如何通过进程handle 获取窗口 handle?

楼主mlxboy(晴空)2005-04-28 09:56:07 在 VC/MFC / 进程/线程/DLL 提问

如何通过进程handle   获取窗口   handle? 问题点数:20、回复次数:9Top

1 楼iuhxq(小灰)回复于 2005-04-28 10:39:39 得分 0

我也想知道  
   
  HCURSOR   CThreadTestDlg::OnQueryDragIcon()  
  {  
  return   (HCURSOR)   m_hIcon;  
  }  
   
  void   lpRecvProc(LPVOID   lpParam)  
  {  
  CEdit*   pEdit=(CEdit*)lpParam;  
  long   j;  
  CString   str;  
  pEdit->GetWindowText(str);  
  j=atoi(str);  
  CString   str1;  
  for(int   i=0;i<100000;++i)  
  {  
  ++j;  
  str1.Format("%d",j);  
  pEdit->SetWindowText(str1);  
  }  
  }  
  void   CThreadTestDlg::OnStartbutton()    
  {  
  //   TODO:   Add   your   control   notification   handler   code   here  
  //先终止先前的进程  
  if(hThread)  
  TerminateThread(hThread,dwThreadId);  
   
  hThread=CreateThread(NULL,0,(LPTHREAD_START_ROUTINE)lpRecvProc,&m_edit,0,&dwThreadId);  
  if(hThread==NULL)  
  AfxMessageBox("创建线程失败!");  
  }  
   
  这个是传递一个控件handle过去,怎么传递窗口handle呢?Top

2 楼idAnts(此广告位招租)回复于 2005-04-28 10:43:32 得分 5

进程handle   获取窗口   handle  
  ---------------------------  
  倒过来可以,你可以遍历窗口,找句柄。  
  GetWindowThreadProcessIdTop

3 楼idAnts(此广告位招租)回复于 2005-04-28 10:46:11 得分 5

iuhxq(小灰)  
  线程最好不要传m_edit的指针,传m_edit的句柄过去:     m_edit.m_hWnd  
   
  同样应该传窗口的句柄  
  m_hWnd;  
   
  Top

4 楼iuhxq(小灰)回复于 2005-04-28 11:43:19 得分 0

to   idAnts(你才无聊呢)   :  
  谢谢,我也是初学,在一个例子上看到的。  
   
  推荐几篇文章好吗?Top

5 楼idAnts(此广告位招租)回复于 2005-04-28 12:22:15 得分 0

什么方面的啊?Top

6 楼Rogeremail(绿色环保-菜青虫)回复于 2005-04-28 14:08:24 得分 5

不是所有的Process都有Window,因此,不是所有的Process都有HWND。  
  我记得Undocument   API里有一个API,你查查看。Top

7 楼iuhxq(小灰)回复于 2005-04-28 14:20:32 得分 0

多线程方面的,最好是简单易懂的^_^Top

8 楼mlxboy(晴空)回复于 2005-04-28 17:47:42 得分 0

随便问一下,程序出现错误提示对货框的时候,进程的状态?  
  Alive,   hung   Or     Dead??Top

9 楼haungrui(水底深呼吸)回复于 2005-04-28 21:53:33 得分 5

直接从进程handle好像是不能直接得到窗口handle的。不过,可以用一个变通的办法实现曲线救国:枚举所有窗口得到其handle,然后再与你想得到的进程handle相比。要注意的是,一个进程往往有多个窗口。Top

相关问题

  • 根据进程HANDLE获取进程对应的文件名?
  • 如何获取进程外的窗口中控件的句柄???
  • 如何获取父进程的窗口的句柄?
  • C#如何获取某个进程的主窗口?
  • 如何获取指定进程的窗口标题?
  • GetWindowThreadProcessId只是获取创建窗口的线程ID,可是我是想获取进程ID,如何做呢?
  • 如何获取其他进程窗口中TEdit中的文本信息?
  • 进程运行的获取
  • ------------------------一百分!!!!!!!!怎么由进程id或模块号获取其相对应窗口句柄--------------------------
  • 如何获取系统中运行着的指定进程或窗口的图标?

关键词

  • 进程
  • 句柄
  • handle
  • 获取
  • hthread
  • edit
  • hwnd
  • 所有
  • str

得分解答快速导航

  • 帖主:mlxboy
  • idAnts
  • idAnts
  • Rogeremail
  • haungrui

相关链接

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

广告也精彩

反馈

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