在WM_INITDIALOG消息里通过SetWindowPos函数隐藏窗口,然后处理WM_WINDOWPOSCHANGING消息即可完全隐藏一个窗口(即看不到窗口的出现并且在任务管理器的应用程序页面看不到窗口的存在),具体代码如下:
case WM_WINDOWPOSCHANGING:
{
LPWINDOWPOS lpwp = (LPWINDOWPOS)lp;
if (!s_active)
{
if (lpwp->flags & SWP_SHOWWINDOW)
{
lpwp->flags &= ~SWP_SHOWWINDOW;
}
}
break;
}