关于窗口嵌入桌面显示(桌面提示)
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);
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);
相关文章推荐
- 关于窗口嵌入桌面及透明的注意事项
- 关于窗口嵌入桌面及透明的注意事项
- 关于窗口嵌入桌面及透明的注意事项
- 在气泡式提示窗口中显示关闭按钮和链接。
- 关于IE6和IE7关闭窗口时提示和不提示以及上传图片前的本地预览解决办法
- 关于 隐藏显示 桌面程序
- 用window.open方法打开新窗口显示提示信息
- 关于ASP.NET页面嵌入代码的高亮显示的问题。
- 技巧(1)- 数据窗口的错误提示不显示(item '' does not pass validation test!)
- 在气泡式提示窗口中显示关闭按钮和链接。
- 关于IE7关闭窗口时总是提示和上传图片前的本地预览解决办法
- 关于IE6和IE7关闭窗口时提示和不提示以及上传图片前的本地预览解决办法
- c#中使得弹出窗口显示在当前桌面的最上面
- 关于cmd命令提示行不能显示中文
- 弹出信息提示窗口的代码;在Windows系统桌面右下角弹出友情提示窗口
- 怎样才能使我的窗口即使在按下“显示桌面”后仍然在最顶端?
- 【原创】关于桌面上不显示图标的处理办法
- 在气泡式提示窗口中显示关闭按钮 zz
- 关于".scf"文件与找回丢失的显示桌面图标
- 将程序窗口显示在桌面工作区的右下角