mfc获取其它程序窗口句柄

原创 2016年05月30日 17:18:47
const char *getWindowTitle(HWND hWnd){
	char WindowTitle[1000]={0};      
    ::GetWindowText(hWnd,WindowTitle,1000);  
	 std::string *title = new std::string(WindowTitle);
	 return (*title).c_str();
}
bool equal(const char *a, const char *b){
	return strcmp(a, b) == 0;
}
void show(const char *message){
	AfxMessageBox(message);
}
  
//EnumChildWindows回调函数,hwnd为指定的父窗口  
BOOL CALLBACK EnumChildWindowsProc(HWND hWnd,LPARAM lParam)  
{  
    char WindowTitle[1000]={0};      
    ::GetWindowText(hWnd,WindowTitle,1000);  
    printf("%s\n",WindowTitle);  

	if(equal( getWindowTitle(GetParent(hWnd)), getWindowTitle(hWnd))){
		//show(WindowTitle);
	}
	
    return true;     
}  
  
//EnumWindows回调函数,hwnd为发现的顶层窗口  
BOOL CALLBACK EnumWindowsProc(HWND hWnd,LPARAM lParam)  
{  
    if (GetParent(hWnd)==NULL && IsWindowVisible(hWnd) )  //判断是否顶层窗口并且可见  
    {  
        const char *WindowTitle = getWindowTitle (hWnd); 
		
        EnumChildWindows(hWnd,EnumChildWindowsProc,NULL); //获取父窗口的所有子窗口  
		if(equal(WindowTitle, "waw.exe")){
			show(WindowTitle);
			return false;
		}
    }  
      
    return true;     
}  

void CwawWithLogDlg::OnBnClickedOk()
{
// TODO: 在此添加控件通知处理程序代码
// CDialogEx::OnOK();
   EnumWindows(EnumWindowsProc ,NULL );  
}

相关文章推荐

调用EnumChildWindows来枚举子窗口

EnumChildWindows()函数的作用是向父窗口的所有子窗口按顺序的(枚举)调用回调函数。函数原型 BOOL WINAPI EnumChildWindows( HWN...

MFC 怎样获得某个窗口的句柄?

GetSafeHandle(); this-> hWnd; GetDlgItem(hwnd,ID);//获取窗口ID所对应的HWND的子窗口句柄  在主窗口中,如果要用到父窗口的句柄,可...

MFC 窗口句柄获取

句柄获取方法(获取该窗口的句柄后,即可向该窗口类类发送消息、处理程序):0。获取所在类窗口的句柄: this->m_hwnd 1。主窗口的句柄: 无论在主窗口类内,还是子窗口类内,获取主窗口句柄...
  • laogaoAV
  • laogaoAV
  • 2014年03月02日 18:26
  • 26735

使用钩子函数获取全部的鼠标消息和键盘消息

获取当前线程的钩子函数和全局的钩子函数

MFC中获取窗口句柄及相关函数

一般我们使用的框架是VC提供的Wizard生成的MFC App Wizard(exe)框架,无论是多文档还是单文档,都存在指针和句柄获取和操作问题。本文中将针对各类句柄的获得、指针的获得以及MFC中常...

MFC获取当前应用程序句柄的三种方式

(1)使用全局函数AfxGetInstanceHanle(); (2)使用应用程序的全局变量theApp,在app文件中有定义。当使用theApp.m_hInstance来获取时,需要添加exter...

MFC中获取窗口句柄及相关函数

一般我们使用的框架是VC提供的Wizard生成的MFC App Wizard(exe)框架,无论是多文档还是单文档,都存在指针和句柄获取和操作问题。本文中将针对各类句柄的获得、指针的获得以及MFC中常...

MFC中获取窗口句柄指针及相关函数

一般我们使用的框架是VC提供的Wizard生成的MFC App Wizard(exe)框架,无论是多文档还是单文档,都存在指针和句柄获取和操作问题。本文中将针对各类句柄的获得、指针的获得以及MFC中常...

MFC中获取其他类、窗口句柄等相关函数

转载自http://blog.csdn.net/xiaoyun8822/article/details/7939605 一般我们使用的框架是VC提供的Wizard生成的MFC App Wiza...

MFC框架类、文档类、视图类相互访问(及窗口句柄获取)的方法

1、获取应用程序指针  CMyApp* pApp=(CMyApp*)AfxGetApp(); 2、获取主框架指针  CWinApp 中的公有成员变量 m_pMainWnd 就是主框架的指针  CMa...
  • sgs1018
  • sgs1018
  • 2013年05月24日 16:49
  • 1424
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mfc获取其它程序窗口句柄
举报原因:
原因补充:

(最多只允许输入30个字)