天天看點

VC++ 程式啟動即隐藏

    所謂的隐藏是程式啟動後不顯示主窗體。

    網上介紹了很多方法,是否達到效果,衆說紛纭,這裡隻介紹一種在項目中實際應用到的切實可行的方法。

這裡假設主窗體為CMainDialog

1、變量聲明:

BOOL m_bShowWindow;
           

2、給變量賦初始值

CMainDialog::CMainDialog(){
    m_bShowWindow = FALSE:
}
           

3、響應消息函數

afx_msg void OnWindowPosChanging(WINDOWPOS* lpwndpos);
           
BEGIN_MESSAGE_MAP(CMainDialog, CDialog)
	ON_WM_WINDOWPOSCHANGING()
END_MESSAGE_MAP()
           
void CMainDialog::OnWindowPosChanging(WINDOWPOS* lpwndpos)
{
	if (!m_bShowWindow)
	{
		lpwndpos->flags &= ~SWP_SHOWWINDOW;
	}

	__super::OnWindowPosChanging(lpwndpos);
	// TODO: 在此處添加消息處理程式代碼
}
           

4、顯示窗體

需要在顯示窗體之前,設定m_bShowWindow=TRUE,之後ShowWindows(SW_SHOW)即可。