让MFC程序隐藏运行界面

时间:2022-06-18 20:21:07

      在MFC中隐藏运行界面确实花花点功力。

      针对对话框程序,一种不是很好地实现方法是在OnPaint函数中添加如下代码:

CWnd::ShowWindow(SW_HIDE);

添加后执行会发现屏幕会闪烁一下之后只在后台运行。

      有一种好方法,就是在OnInitDialog(...)中加入以下的代码:

SetWindowPos(&CWnd::wndNoTopMost,0,0,0,0,SWP_HIDEWINDOW); 

    //设置窗口为非*窗口,并且窗口的位置为(0,0)窗口的宽和高为(0,0),指定为隐藏窗口
ModifyStyleEx(WS_EX_APPWINDOW,WS_EX_TOOLWINDOW);

    //强行清除可见的*窗口,并设置窗口格式为工具窗口

这两句话纯属为偷懒行为,就是将窗口的高度和宽度划为0,看不见了,然后设置为隐藏窗口。

     这样,运行对话框程序之后,就不会出现对话框界面了。