C++ 如何将输入发送到子控制台应用程序

C++ 如何将输入发送到子控制台应用程序,c++,console,message,createprocess,C++,Console,Message,Createprocess,我正在从MFC应用程序生成一个子控制台进程zip.exe static TCHAR s_atchZipTool[] = _T("\\tools\\zip.exe"); sArgZip.Format(_T("%s%s -e -r %s *.*"), GetAppPath(), s_atchZipTool, sFilePathName); if( !CreateProcess(NULL, (LPTSTR)(LPCTSTR) sArgZip, NULL, NULL,

我正在从MFC应用程序生成一个子控制台进程zip.exe

static TCHAR  s_atchZipTool[] = _T("\\tools\\zip.exe");
sArgZip.Format(_T("%s%s -e -r %s *.*"), GetAppPath(), s_atchZipTool, sFilePathName);
if( !CreateProcess(NULL, (LPTSTR)(LPCTSTR) sArgZip, NULL, NULL, 
                    FALSE, CREATE_NO_WINDOW, NULL, sFilesPath, &si, &pi) ) 
{
    return ::GetLastError();
}
else
{
    ::WaitForSingleObject( pi.hProcess, INFINITE );
}
CloseHandle(pi.hProcess);
CloseHandle(pi.hThread);

所以,当我不需要为压缩文件设置密码时,一切都很好,但我如何才能将多条消息作为控制台输入发送到这个过程?参数-e迫使我再输入两个字符串输入密码,验证密码。

这需要大量工作,请参阅。我不知道你在干什么,但从它的味道来看,我认为这是Python的工作,而不是C++/MFC。使用7zip代替。它允许通过命令行设置加密密码。@Ari0nhh这不是答案,反正它解决了问题。感谢可能的副本