怎样建立一个底下任务栏不显示的窗口?(不是服务器程序) 我也遇到过这种问题,苦于一直无法解决,用SetWindowPos()和SetWindowLong()这些函数好像都不起作用,没办法,我只能在OnInitDialog()中设置了一个定时器,然后在OnTimer()中再用ShowWindow(SW_HIDE)将对话框隐藏起来。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 或者:用VC的资源工具创建一个非模式(modeless)不可见(invisible)对话框(IDD_FRAMEOWNER),对话框内容为空并且没有边框。BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs) { if (!CFrameWnd::PreCreateWindow(cs)) return FALSE; if (!m_bOwnerCreated) // 对话框已创建标志 { // m_MainFrameOwner - 映射到IDD_FRAMEOWNER的CDialog 对象 m_bOwnerCreated = m_MainFrameOwner.Create(IDD_FRAMEOWNER); if (m_bOwnerCreated) m_MainFrameOwner.ShowWindow(SW_HIDE); }; // 设置对话框为CMinaFrame窗口的父窗口 if (m_bOwnerCreated) cs.hwndParent = m_MainFrameOwner.GetSafeHwnd(); return TRUE; } 定义以下成员函数:BOOL CMainFrame::ShowTaskBarButton(BOOL bVisible) { if (!m_bOwnerCreated) return FALSE; ShowWindow(SW_HIDE); if (bVisible) ModifyStyleEx(0, WS_EX_APPWINDOW); else ModifyStyleEx(WS_EX_APPWINDOW, 0); ShowWindow(SW_SHOW); return TRUE; } 或者在你的CFrame ::OnCreate(...) 中添加如下调用::SetWindowLong(m_hWnd,GWL_EXSTYLE,WS_EX_TOOLWINDOW); leafdown: 我的窗口要显示的,不能隐藏,但要任务栏不显示图标 http://www.csdn.net/develop/read_article.asp?id=9546如何使窗口不在任务栏上出现 (jiangsheng翻译) ModifyStyleEx(WS_EX_TOOLWINDOW,WS_EX_APPWINDOW,SWP_NOZORDER);注意最后要改回来void CModalFrame::OnDestroy() { ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW,SWP_NOZORDER);...} 很简单,只要把下面几条语句加入到你的程序的初始化部分即可。long lExStyle = ::GetWindowLong(m_hWnd, GWL_EXSTYLE);lExStyle &= ~WS_EX_APPWINDOW; // 去除AppWindow扩展风格lExStyle |= WS_EX_TOOLWINDOW; // 增加ToolWindow扩展风格::SetWindowLong(m_hWnd, GWL_EXSTYLE, lExStyle);ShowWindow(SW_SHOWNA);不妨试试吧! 刚才搞错了两句ModifyStyleEx应该互换。>long lExStyle = ::GetWindowLong(m_hWnd, GWL_EXSTYLE);>lExStyle &= ~WS_EX_APPWINDOW; // 去除AppWindow扩展风格>lExStyle ¦= WS_EX_TOOLWINDOW; // 增加ToolWindow扩展风格〉::SetWindowLong(m_hWnd, GWL_EXSTYLE, lExStyle);这么多?用一行ModifyStyleEx就搞定了啊 利用Setupapi 能获得设备的具体信息的问题... ie控件问题(xp,ie7) 刚用vc,求一个简单的多线程要同步的服务器,客户端下载程序 读写文件 数据库程序的移植问题 请教各位大侠一个作图的问题,急! 这段代码能不能使数据同步? 返回值BOOL和UNIT 为何DrawText函数在计算多行文本高度时结果有时会不正确?各位大侠帮帮忙 file mapping的问题 CHtmlView类的刷新如何去做,我用它显示的页面,最小化再显示时,总是不能正常显示。 请问一个关于使用线程的问题:在一个线程中建立一个csocket对象,然后调用create方法
用VC的资源工具创建一个非模式(modeless)不可见(invisible)对话框(IDD_FRAMEOWNER),对话框内容为空并且没有边框。BOOL CMainFrame::PreCreateWindow(CREATESTRUCT& cs)
{
if (!CFrameWnd::PreCreateWindow(cs)) return FALSE;
if (!m_bOwnerCreated) // 对话框已创建标志
{
// m_MainFrameOwner - 映射到IDD_FRAMEOWNER的CDialog 对象
m_bOwnerCreated = m_MainFrameOwner.Create(IDD_FRAMEOWNER);
if (m_bOwnerCreated) m_MainFrameOwner.ShowWindow(SW_HIDE);
}; // 设置对话框为CMinaFrame窗口的父窗口
if (m_bOwnerCreated)
cs.hwndParent = m_MainFrameOwner.GetSafeHwnd(); return TRUE;
} 定义以下成员函数:
BOOL CMainFrame::ShowTaskBarButton(BOOL bVisible)
{
if (!m_bOwnerCreated) return FALSE; ShowWindow(SW_HIDE); if (bVisible)
ModifyStyleEx(0, WS_EX_APPWINDOW);
else
ModifyStyleEx(WS_EX_APPWINDOW, 0); ShowWindow(SW_SHOW); return TRUE;
}
在你的CFrame ::OnCreate(...) 中添加如下调用
::SetWindowLong(m_hWnd,GWL_EXSTYLE,WS_EX_TOOLWINDOW);
我的窗口要显示的,不能隐藏,但要任务栏不显示图标
如何使窗口不在任务栏上出现 (jiangsheng翻译)
注意最后要改回来
void CModalFrame::OnDestroy()
{
ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW,SWP_NOZORDER);
...
}
lExStyle &= ~WS_EX_APPWINDOW; // 去除AppWindow扩展风格
lExStyle |= WS_EX_TOOLWINDOW; // 增加ToolWindow扩展风格
::SetWindowLong(m_hWnd, GWL_EXSTYLE, lExStyle);
ShowWindow(SW_SHOWNA);不妨试试吧!
两句ModifyStyleEx应该互换。
>long lExStyle = ::GetWindowLong(m_hWnd, GWL_EXSTYLE);
>lExStyle &= ~WS_EX_APPWINDOW; // 去除AppWindow扩展风格
>lExStyle ¦= WS_EX_TOOLWINDOW; // 增加ToolWindow扩展风格
〉::SetWindowLong(m_hWnd, GWL_EXSTYLE, lExStyle);
这么多?用一行ModifyStyleEx就搞定了啊