例如下面的代码:
STARTUPINFO si; // 启动信息
PROCESS_INFORMATION pi; // 进程信息
si.cb = sizeof(STARTUPINFO); // 结构体大小
GetStartupInfo(&si); // 获取当前进程信息,填充si结构体值
si.hStdInput = hRead; // 标准输入句柄
si.hStdOutput = hWrite; // 标准输出句柄
si.hStdError = hWrite; // 错误输出句柄
si.wShowWindow = SW_HIDE; // 隐藏窗口
si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
// 创建进程
CreateProcess(_T("C:\\Windows\\system32\\cmd.exe"), _T("/C dir *.*"), NULL, NULL, TRUE, 0, NULL, NULL, &si, &pi)
然后通过函数 PeekNamedPipe 结合 ReadFile 就可以得到,在命令行提示符下在执行dir命令的结果了。
我的问题是:执行完dir之后,我还想在当前进程下执行其他命令(如 cd、tree或其他外部命令),该怎么做?
请熟悉这方面的达人不吝赐教,先行谢过了!