QProcess的startDetached()启动cmd后如何继续输入
时间: 2023-11-28 19:50:46 浏览: 59
Qt调用CMD启动外部程序Demo.zip
使用startDetached()启动cmd后,无法直接在程序中输入命令。如果需要在程序中输入命令,可以使用start()方法启动cmd,并通过管道将命令输入到cmd中。具体步骤如下:
1. 使用QProcess的start()方法启动cmd
```c++
QProcess *process = new QProcess(this);
process->start("cmd");
```
2. 获取QProcess的输入管道
```c++
QTextStream in(process);
```
3. 通过管道输入命令
```c++
in << "dir" << endl; // 输入dir命令
in << "echo hello world" << endl; // 输入echo命令
```
4. 读取cmd的输出
```c++
QByteArray result = process->readAll();
```
注意:在使用管道输入命令时,应该使用<<运算符,而不是直接使用write()方法。此外,在每个命令末尾都必须加上endl,以便将命令发送到cmd中。
阅读全文