MFC无闪烁隐藏窗口

今天需要用到将窗口的程序隐藏,但是如果在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);

希望能有所帮助。。

原文地址:https://www.cnblogs.com/fudong071234/p/6571226.html