请问c++如何同时运行2个exe文件并不断向其中进行标准输入

麻烦举出一个详细的例子,如果很好会有大量加分,谢谢!急!是当前c++的exe运行另外2个exe... 麻烦举出一个详细的例子,如果很好会有大量加分,谢谢!急!
是当前c++的exe运行另外2个exe
展开
 我来答
金色潜鸟
2014-02-11 · TA获得超过3.2万个赞
知道大有可为答主
回答量:1.3万
采纳率:89%
帮助的人:5665万
展开全部
最简单的,调用 DOS 命令,分别开2个窗,同时工作:
#include <stdio.h>
int main()
{
system( "start \"a1\" a1.exe"); // 窗名a1, 运行 a1.exe
system( "start \"a2\" a2.exe"); // 窗名a2, 运行 a2.exe
return 0;
}
==================
把两个程序做成2 个线程,或一个做主函数,一个做函数,共享标准输入输出资源
c++ 程序:
#include <iostream>
#include <windows.h>
using namespace std;

HANDLE hMutex; //公用资源句柄
int x1=0,x2=0;

DWORD WINAPI Fun(LPVOID lpParamter)
{
while(1) {
WaitForSingleObject(hMutex, INFINITE);
cout<<"intput x1:"<<endl; // 第1个程序嵌入这里
cin >> x1;
cout << "x1="<<x1<< endl;
Sleep(1000);
ReleaseMutex(hMutex);
}
}
int main()
{
hMutex = CreateMutex(NULL, FALSE, "screen");
HANDLE hThread = CreateThread(NULL, 0, Fun, NULL, 0, NULL);
CloseHandle(hThread);
while(1) {
WaitForSingleObject(hMutex, INFINITE);
cout<<"input x2:"<<endl; //第2个程序嵌入这里
cin >> x2;
cout << "x2="<<x2<<endl;
Sleep(2000);
ReleaseMutex(hMutex);
}
return 0;
}
----
模拟2个线程,交替通过申请获得 标准输入输出设备 使用 权。
追问
请问一下,第二个方法中,程序嵌入能否直接加入未知程序(就是不重新复制粘贴源代码之类)?(输入输出格式已经统一的情况下)求教方法。谢谢!
追答
要改写原来程序内容,把它作为 本程序的一部分。有冲突的变量名字要换掉。
例如,程序1,写成函数 A,程序2,写成函数 B,
在嵌入处 1 调用 funA(...);
在嵌入处 2 调用 funB (...);
当然,funA,funB 里面可以有 各自 自己的原来的 其它函数的 调用。
xoaxa
2014-02-11 · TA获得超过8609个赞
知道大有可为答主
回答量:6415
采纳率:72%
帮助的人:3462万
展开全部
C++是运行在DOS系统下的,DOS系统是单任务操作系统,CPU不能被分享,所以你的设想有点“过分”。当然用VC,VS编写的代码是运行在WINDOWS下的,WINDOWS系统是多任务系统,同时可以有多个任务运行,这样来说,你的代码要求就容易解决了,不过这要涉及到多线程操作。
更多追问追答
追问
求教多线程操作的实现代码,很基础的就可以了,就只要对exe进行 运行、读入和输出这几点就行了。
追答
在你掌握VC编程前,建议你暂时放弃这样的想法,因为VC编程涉及新内容很多,且不是用几句核心代码就能解决的,抱歉,我无能为力。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
dabaichix
2014-02-11 · TA获得超过113个赞
知道答主
回答量:162
采纳率:0%
帮助的人:80.8万
展开全部
其实你是不是想同时运行两个应用程序A,B。
A,B。都能接收到标准输入的数据。

其实这很简单写两个exe,都循环调用getchar()之类的接收函数,不退出。
这样不就行了么
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
永若华0gm
2014-02-11 · TA获得超过246个赞
知道小有建树答主
回答量:186
采纳率:0%
帮助的人:201万
展开全部
这个是设计进程间的通讯还有多线程的运用,本人是ARM嵌入式开发专业的 我举个例子吧 你要的效果有点像QQ 我打开QQ了 我既能远程操控电脑也能同时跟别人聊天 而且我点一下QQ游戏自动弹开游戏网页
其实只要你设定好广播 然后发送一个sock(在这之前要做一个套接字监控,当然这是比较复杂点点的)
另外如果你想做的比较简单的 直接用system()这个函数,连用两个就能达到你的要求,只是这样做事毫无意义的,本人推荐你用上面的方法
追问
其实我的意思是自己这个进程运行另外2个exe,向这2个交替进行输入输出。请问有没有较基础的实现代码,不用太多,就运行、输入、输出,这3样功能就行。剩下的我自行参悟吧。谢谢!
追答
要不你去CSDN找一下 那里很多世外高人 还有很多的精品代码  实在没发给你找了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式