我是这样处理的 BOOL CRRRDlg::OnInitDialog()
{
// TODO: Add extra initialization here CenterWindow();//让窗口在正中显示 m_wp.length=sizeof(WINDOWPLACEMENT);
GetWindowPlacement(&m_wp); //成员变量,恢复时用
//从任务栏中去掉.
ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW); WINDOWPLACEMENT wp;
wp.length=sizeof(WINDOWPLACEMENT);
wp.flags=WPF_RESTORETOMAXIMIZED;
wp.showCmd=SW_HIDE;
SetWindowPlacement(&wp); SetTimer(0,2000,NULL); //两秒后再显示
}
void CRRRDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default //改回原来的样式
ModifyStyleEx(WS_EX_TOOLWINDOW,WS_EX_APPWINDOW);
SetWindowPlacement(&m_wp);// BringWindowToTop();
KillTimer(0);
CDialog::OnTimer(nIDEvent);
}
通过以上代码,对隐藏已经可以做到,但现在的问题是显示时,程序窗口是显示了但windows的任务栏并没有这个程序的按钮,我需要的效果是全部显示出来,就和原来一样,发现在点击其他任务栏按钮是另外一个程序,比如 IE显示后在最小化到任务栏,我自己的程序才会在任务栏上显示按钮,有谁知道这是怎么回事,应该怎样才能达到我要的效果?
在程序窗口显示后
{
// TODO: Add extra initialization here CenterWindow();//让窗口在正中显示 m_wp.length=sizeof(WINDOWPLACEMENT);
GetWindowPlacement(&m_wp); //成员变量,恢复时用
//从任务栏中去掉.
ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW); WINDOWPLACEMENT wp;
wp.length=sizeof(WINDOWPLACEMENT);
wp.flags=WPF_RESTORETOMAXIMIZED;
wp.showCmd=SW_HIDE;
SetWindowPlacement(&wp); SetTimer(0,2000,NULL); //两秒后再显示
}
void CRRRDlg::OnTimer(UINT nIDEvent)
{
// TODO: Add your message handler code here and/or call default //改回原来的样式
ModifyStyleEx(WS_EX_TOOLWINDOW,WS_EX_APPWINDOW);
SetWindowPlacement(&m_wp);// BringWindowToTop();
KillTimer(0);
CDialog::OnTimer(nIDEvent);
}
通过以上代码,对隐藏已经可以做到,但现在的问题是显示时,程序窗口是显示了但windows的任务栏并没有这个程序的按钮,我需要的效果是全部显示出来,就和原来一样,发现在点击其他任务栏按钮是另外一个程序,比如 IE显示后在最小化到任务栏,我自己的程序才会在任务栏上显示按钮,有谁知道这是怎么回事,应该怎样才能达到我要的效果?
在程序窗口显示后
this->ShowWindow(FALSE);//显示
this->ShowWindow(TRUE);
SetForegroundWindow();
ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);
你都这样做了当然不会在任务栏显示了。
//改回原来的样式
ModifyStyleEx(WS_EX_TOOLWINDOW,WS_EX_APPWINDOW); 还是自己搞定,开心