2010-07-13 4 views
0

Я запускаю консольное приложение из приложения MFC через ShellExecuteEx(). После того, как exe загрузится, я хочу получить одну консольную консоль формы для MFC, если я не могу получить строку, тогда я закрою приложение MFC и Console.Отправка строки из консольного приложения в MFC

Для этого я хочу отправить любую строку или оценку из консольного приложения в MFC. Я не знаю, как это сделать.

char szFile[20]={0},szDir[500]={0}; 
memset(szFile,0,20);  
memset(szDir,0,500);  
strcpy(szFile,szModelName); 
strcat(szFile,".EXE"); 
sInfo.lpFile = szFile; 
sInfo.hwnd = NULL;//this; 
sInfo.lpParameters ="MODEL"; 
strcat(szDir,"\\Sources\\");  
sInfo.lpDirectory = szDir; 
sInfo.fMask = SEE_MASK_NOCLOSEPROCESS; 
sInfo.cbSize = sizeof(SHELLEXECUTEINFO); 
sInfo.lpVerb = "open"; 
sInfo.nShow = SW_HIDE; 
sInfo.hwnd = NULL; 
BOOL bFlag = ShellExecuteEx(&sInfo); 

Консоль приложения кодирования

int main(int argc , char *argv[]) 
{ char str[50]; 
strcpy(str,argv[1]);  
getch();   
} 

ответ

1

Если вы хотите отправить данные из консольного приложения обратно в приложение, вызвавшей его, вам нужно печатать на стандартный вывод и иметь приложение ссылающееся прочитать этот вывод. Не используйте ShellExecuteEx, используйте оболочку, которая имеет отношение к перенаправлению дескриптора файла, которое вам необходимо. Посмотрите на http://www.codeguru.com/Cpp/misc/misc/article.php/c321. Класс CRedirect там делает то, что вам нужно.

Смежные вопросы