출처 ( http://www.devpia.com/Maeul/Contents/Detail.aspx?BoardID=51&MAEULNO=20&no=8514&page=1 )

데브피아 살펴보다가 유용한 팁이 있어서 링크 없어질것 대비하여 블로그에 옮겨 놓습니다.

나중에 써먹어야지!!


글 내용
---------------------------------------------------------------------------------------------------
팁이 될지 모르겠네요. 모르는분들을 위한 팁이에요...양해 바랍니다. ^^
어떤분이 질문을 올리셨기에...
질문의 내용은 A프로그램에서 B프로그램 실행후 B프로그램이 끝날때까지 A프로그램은 계속 대기
B프로그램에서 메시지박스가 떠 있기때문에 무한정 기다려야 하는 문제가 있을 경우 사용하면 될것 같습니다.
또는 그냥 시간되면 메시지 박스를 종료하고 싶을때 사용하면 될것 같습니다.
사용 방법은 SetTime를 이용합니다. 
---------------------------------------------------------------------------------------------------
SetTimer(101, 1000, NULL);
if(AfxMessageBox("박스다..") == IDOK)
{
    // AfxMessageBox("OK");
}

//OnTimer() 안에서 사용하시면 됩니다.
HWND wndDlg = ::GetLastActivePopup(m_hWnd);
if(wndDlg && wndDlg != m_hWnd)
{
    char buffer[256] = {0};
    ::GetClassName(wndDlg, buffer, 256);
    if(CString("#32770") == buffer) //메시지 박스는 분명히 다이얼로그이며 클래스명이 #32770
    {
        ::EndDialog(wndDlg, IDOK);
    }
}

posted by 뚱2