
CWnd wnd = GetDesktopWindow()->GetWindow(GW_CHILD);
while(wnd!=NULL)
{
if(wnd->IsWindowVisible())
{
wnd->GetWindowText(s);//窗口名
GetClassName(wnd->m_hWnd,buff,1024);//类名
str+=s+" ";
}
wnd = wnd->GetWindow(GW_HWNDNEXT);
}
给你2个函数能够搞定不懂查msdn使用方法
BOOL GetCursorPos(
LPPOINT lpPoint
);
HWND WindowFromPoint(
POINT Point
);
1设置位置可以使用setWindowPos
但是并没有函数GetWindowPos获取位置
2可以通过一下方法获得
相关函数
GetClientRect(); //获得client区域
GetWindowRect(); //获取window区域
ScreenToClient(); //相互转换
ClientToScreen();
3由于GetClientRect()获得的区域不包括位置,得到的rect的left,top必然为0
而GetWindowRect();获得的区域包括位置,但会发现获得值不准确,应该是加上了窗体边界。
4正确方法:
CRect rt;
GetWindowRect(&rt); //获得window区域
ScreenToClient(&rt); //转到client
CWnd pWnd = GetDlgItem(ID_); // 取得控件的指针
HWND hwnd = pWnd->GetSafeHwnd(); // 取得控件的句柄
以上就是关于怎样用MFC获得已经打开了的窗口的名字全部的内容,包括:怎样用MFC获得已经打开了的窗口的名字、mfc单文档中如何获取鼠标当前窗口的句柄、MFC怎么获取控件地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)