char  cmdLine[MAX_PATH] = {0} ;
strcat( cmdLine, " " ) ;
strcat( cmdLine, (LPCTSTR)cfChp.GetFileName() ) ;
strcat( cmdLine, " " ) ;
strcat(cmdLine, (LPCTSTR)cfOL.GetFileName() ) ;
strcat( cmdLine, " " ) ;
OpenFileName = COMPRESS_FILE ;
strcat( cmdLine, (LPCTSTR)OpenFileName ) ;
strcat( cmdLine, " " ) ;
OpenFileName = COMPRESSOL_FILE ;
strcat(cmdLine, (LPCTSTR)OpenFileName ) ;

    STARTUPINFO stStartUpInfo;
    PROCESS_INFORMATION ProcessInfo;
    memset(&stStartUpInfo, 0, sizeof(STARTUPINFO));
    stStartUpInfo.cb = sizeof(STARTUPINFO);
    stStartUpInfo.dwFlags = STARTF_USESHOWWINDOW;
    stStartUpInfo.wShowWindow = SW_SHOWDEFAULT;
    if (!CreateProcess("Compress.exe", (LPTSTR)cmdLine, NULL, NULL, FALSE,
        NORMAL_PRIORITY_CLASS, NULL, 
        NULL, &stStartUpInfo, &ProcessInfo)) 
{
m_strErrMsg += "Can not launch Compress.exe!" ;
DELAYERR ;
return FALSE ;
}
HANDLE hProcess = ProcessInfo.hProcess;
::WaitForSingleObject (hProcess, INFINITE);