读书人

获取vc的窗口句柄有关问题

发布时间: 2012-07-28 12:25:13 作者: rapoo

获取vc的窗口句柄问题
我想在想要获得vc的窗口句柄,用的是findwindow这个函数
findwindow(NULL,“wyq - Microsoft Visual C++ - [main.cpp]”);
这个窗口名是用spy++找到后直接 粘贴过来的,肯定是对的,但是得到的句柄为空,
求指点
如果使用窗口类名的话,spy得到的为Afx:400000:8:10003:0:2420a03,但好像不能直接引用,要怎么转化啊

[解决办法]
EnumWindow,然后来匹配
[解决办法]
char lpWinTitle[256];
::GetWindowText(hwnd,lpWinTitle,256-1);
CString m_strTitle;
m_strTitle.Format("%s",lpWinTitle);
if(m_strTitle.Find("Internet Explorer")!=-1)
{
AfxMessageBox("这是一个IE窗口!") ;
}

这个例子里面有了哇,::GetWindowText(hwnd,lpWinTitle,256-1); 就能取出标题了
然后通过find函数实现查找

或者,你通过进程里面来找,到系统进程表里面找对应名臣的进程也行的,就是麻烦了点
[解决办法]
检查窗口标题真的对了?用getlasterror看看啥问题
[解决办法]
好好研究下回调函数怎么用的,你就知道该怎么用好emumwindow

读书人网 >VC/MFC

热点推荐