关于IsWindowVisible GetTopWindow与GetDeskTopWindow

glunoy glunoy 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
HWND deskTopWnd = ::GetDesktopWindow();
BOOL ret = ::IsWindowVisible(deskTopWnd);
if (ret)
{
::MessageBox(NULL,"desktop is visible",NULL,MB_OK);
}

1.以上总是返回真(即使任务栏隐藏 然后其它程序全屏(非3D))。我想知道他什么时候不为真?
2.HWND topWnd = ::GetTopWindow(deskTopWnd);为什么总是返回莫名其妙的窗口 它到底是哪个窗口 例如mydlg处于顶层时,myDlg.m_hWnd != topWnd;那topwnd是啥东西?
3.为什么当myDlg为顶层时 HWND deskTopWnd = ::GetDesktopWindow(); 的deskTopWnd = myDlg.m_hWnd ?MSDN不是说 桌面窗口是那啥的吗?
...全文
评论 6
收藏 已收藏
分享
返回顶部
glunoy
VC/MFC 16,550 成员 421,606 内容