您的位置:首页 > 其它

关于窗口嵌入桌面显示(桌面提示)

2015-02-11 14:17 309 查看
// 创建非模态窗口

if(!CWnd::CreateEx(WS_EX_TOOLWINDOW|WS_EX_LAYERED,_T("Static"),StrTipText,WS_POPUP|SS_NOTIFY,CRect(x,y,x+nWidth,y+nHeight),CWnd::FromHandle(hDeskListView),0))

{

return FALSE;

}

HWND hDesktop = Null;

if(xp系统)

{

hDesktop = ::FindWindow(_T("Progman"), NULL);

hDesktop = ::GetWindow(hDesktop, GW_CHILD);

}

else if(vista、win7或者win7之上)

{

HWND hWnd = ::FindWindow(_T("WorkerW"),NULL);//先当WIN7系统查找

while(hWnd)

{

HWND hShellView=::FindWindowEx(hWnd, NULL, _T("SHELLDLL_DefView"), NULL);

if(hShellView)

{

hDesktop = ::FindWindowEx(hShellView, NULL, _T("SysListView32"), NULL);

break;

}

hWnd = ::GetWindow(hWnd, GW_HWNDNEXT);

}

}

::SetParent(GetSafeHwnd(), hDesktop);

// 修改Z序

SetWindowPos(NULL, x,y,x+nWidth,y+nHeight, SWP_NOSIZE|SWP_NOMOVE|SWP_NOACTIVATE|SWP_SHOWWINDOW);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: