Posted on 2009-11-20 10:44
daiybh 阅读(794)
评论(0) 编辑 收藏 引用 所属分类:
mfc
要想使 程序启动的时候直接隐藏(或者最小化到tray)有如下办法
1 在OnInitDialog ()中
SetTimer(1,100,null)
在OnTimer(UINT nIDEvent) 中
if( nIDEvent==1)
{
ShowWindow(sw_hide);
KillTimer(1);
}
///这种方法 会出现 程序在显示器上 闪一下的效果。。即使 timer 时间很短 ,也会有。
2 重载 WM_WINDOWPOSCHANGING
在重载函数内实现:
OnWindowPosChanging(WINDOWPOS FAR* lpwndpos)
{
if( !m_bShowWindow)
lpwndpos->flags &= ~SWP_SHOWWINDOW;
CDialog::OnWindowPosChanging(lpwndpos);
// TODO: Add your message handler code here
}
m_bShowWindow 是我的一个变量,初始值为false
// 如果 m_bShowWindow 一直为false ,那么程序就见不到人了。。
所以应该给 True
在OnInitDialog ()中
SetTimer(1,1000,null)
在OnTimer(UINT nIDEvent) 中
if( nIDEvent==1)
{
m_bShowWindow =true;
KillTimer(1);
}
//使用这种方法 程序不会闪一下。。。