#include "stdafx.h" extern "C" int CallExtern(LPSTR szProgram , LPSTR szParam="") ; extern "C" int CallExtern(LPSTR szProgram , LPSTR szParam) { PROCESS_INFORMATION pi; STARTUPINFO si; //HANDLE hProcess ; DWORD ExitCode ; ZeroMemory( &si , sizeof(STARTUPINFO)); ZeroMemory( &pi , sizeof(PROCESS_INFORMATION)); si.cb=sizeof ( STARTUPINFO); si.dwFlags = STARTF_USESHOWWINDOW; si.wShowWindow = SW_SHOWNORMAL; //AfxMessageBox("s") ; //if ( BOOL res = CreateProcess(szProgram , szParam, NULL, NULL, FALSE, 0, NULL, NULL, &si , &pi); WaitForInputIdle( GetCurrentProcess() , INFINITE) ; if (pi.hProcess) { ExitCode = STILL_ACTIVE ; while ( ExitCode == STILL_ACTIVE ) { WaitForSingleObject( pi.hProcess ,INFINITE ) ; GetExitCodeProcess( pi.hProcess , &ExitCode); } return ExitCode ; } return 999 ; }