VC 连续调用控制台

来源:百度知道 编辑:UC知道 时间:2024/05/10 09:25:33
例如:在VC用ShellExecute(NULL,"open","XXXX.exe","depth8",NULL,SW_SHOWNORMAL);
调用出控制台.
进入XXXX.exe后可继续输入命令,进行不能同操作.

请问,如果我想在调出的控制台里面继续输入命令,但不用键盘方式,而是VC程序中自动的来调用,如何来实现?

附:如果用进程或线程方式可以解决的话,请问如何解决..
可否给出个例子来.
多谢了!
我更想知道,"起启后控制台,如何再对该控制台进行命令输入".
谁能给个例子...

我要在VC里面启动一个DOS下的程序A,进入程序A的"环境",然后再在该程序环境里输入一些命令(问题就在这:我不知道如何通过VC在同一个控制台环境下进行命令输入),得到一些结果,然后再从A程序的环境下退出来.

TCHAR szCommandLine = _T("E:\\YouWantToRun.exe"); //你要运行的程序路径和文件名字。
TCHAR szCurPath =_T("E:\\"); //目标程序运行后的当前路径

STARTUPINFO StartupInfo = { sizeof(StartupInfo) };
PROCESS_INFORMATION ProcessInfo = { 0 };

CreateProcess( NULL,
      szCommandLine,
      NULL,
      NULL,
      FALSE,
      0,
      NULL,
      szCurPath,
      &StartupInfo,
      &ProcessInfo );

使用上述代码启动目标进程即可。

用重定向啊
先把输入一行一行存在文件a.in中.
WinExec("XXX.exe<a.in",SW_SHOW);
上面的会把a.in当作键盘输入输入到XXX.exe的执行中

如果只是一次执行多个命令,就生成一个批处理文件,然后运行。

system()

创建进程的话,你要设计好子进程和父进程之间的