怎样用MFC获得已经打开了的窗口的名字

怎样用MFC获得已经打开了的窗口的名字,第1张

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怎么获取控件地址等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/9667613.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-30
下一篇2023-04-30

发表评论

登录后才能评论

评论列表(0条)

    保存