我不知道是不是最短的代码,但肯定可以实现:
在视图OnInitialUpdate()里::PostMessage ( WM_SIZE,...);
重载OnSize ()
void CxxxView::OnSize(UINT nType, int cx, int cy) 

   if ( m_bShow )
   {
      m_bShow = FALSE;
      ShowWindow(SW_HIDE);
   }
   else
      ShowWindow ( SW_SHOW );
   ...
}程序执行完后再PostMessage ( WM_SIZE , 0 , 0 );就可以了,你可以让其结束(WM_CLOSE,WM_QUIT 消息);当然,你完全可以自定义其他的消息,作同样的处理.如果是对话框程序,也大致相同.

解决方案 »

  1.   

    对,就是showwindow, registerserverprocess,传递完成消息。 
      

  2.   

    在app的initinstance中
    将domal的方法改成create(ID)及SHOWWINDOW(SW_HIDE)的方法--即派生一指针实例
    WinExec(欲执行的文件名,flags)
    在APP的RUN的消息中whil(INVALIDATE_HANDLE == FINDWINDOW("类名","执行和序的标题"))
    ExitInitstance() ;
    我临时写的可能有些地方不太准确,但大致是这样!
      

  3.   

    在《编程于维护》中有此类的介绍,不用ShowWindow()的方法,可能是RegisterServiceProcess(,),参数我记不清楚了maybe(NULL,0)
      

  4.   

    对不起,上面的参数错了,可以是(NULL,1)
      

  5.   

    STARTUPINFO             si;
        PROCESS_INFORMATION     pi;    ZeroMemory(&si, sizeof si);
        si.cb = sizeof si;
        if ( ! CreateProcess(NULL, "要执行的程序", NULL, NULL, FALSE,
            0, NULL, NULL, &si, &pi) )
        {
            return FALSE;
        }
        if( 0 != WaitForInputIdle(pi.hProcess, 5000) )
            return FALSE;
        return TRUE;