【问题标题】:Sending string from console application to MFC将字符串从控制台应用程序发送到 MFC
【发布时间】:2010-07-13 09:42:08
【问题描述】:

我正在通过 ShellExecuteEx() 从我的 MFC 应用程序调用控制台应用程序。 exe加载后,我想从控制台应用程序接收一个测试字符串到MFC,如果我无法接收到字符串,那么我将关闭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();        
}

【问题讨论】:

    标签: mfc console


    【解决方案1】:

    如果要将数据从控制台应用程序发送回调用它的应用程序,则需要打印到标准输出并让调用应用程序读取该输出。不要使用 ShellExecuteEx,请使用处理您所需的文件描述符重定向的包装器。看看http://www.codeguru.com/Cpp/misc/misc/article.php/c321。那里的 CRedirect 类可以满足您的需要。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-07-02
      相关资源
      最近更新 更多