今天需要用到将窗口的程序隐藏,但是如果在OnInitDialog()中,直接写:
ShowWindow(SW_HIDE);
是无效的,因为这本身就是个初始化窗口函数。也就是说,窗口在并没有显示出来的时候,就会调用这个函数,因此,没有窗口句柄,所以不能隐藏
今天在网上找了个方法可以解决这个问题:
ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);//从任务栏中去掉. SetWindowPos(&wndTop,0,0,0,0,NULL);
这个方法好像采用了一种取巧的办法,先将程序底部任务栏去掉,然后将窗口位置设置为0000
或者采用如下的一种方法,都可以没有闪烁的将,程序主窗口在启动的时候隐藏起来。
ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);//从任务栏中去掉. WINDOWPLACEMENT wp; wp.length=sizeof(WINDOWPLACEMENT); wp.flags=WPF_RESTORETOMAXIMIZED; wp.showCmd=SW_HIDE; SetWindowPlacement(&wp);
希望能有所帮助。。