• 4394阅读
  • 5回复

[提问]QProcess问题求教 [复制链接]

上一主题 下一主题
离线ljkbbc
 
只看楼主 倒序阅读 楼主  发表于: 2013-04-22
我用QProcess执行一个外部程序myapp.exe,程序执行中间会提示下一步的输入参数:(Y)es or (N)o?,这个时候需要传入参数Y或者N。

代码:

process = new QProcess;
process.start("myapp.exe");
connect(process,SIGNAL(readyReadStandardError()),this,SLOT(ReadError()));

在ReadError中
QString str = QString::fromLocal8Bit(process->readAllStandardError());
process->write("Y\n");

貌似不行,请问如何实现。

只看该作者 1楼 发表于: 2013-04-22
process = new QProcess;
process.start(\"myapp.exe\");

编译应该会报错吧
修改为:
process = new QProcess;
process->start(\"myapp.exe\");
离线ljkbbc
只看该作者 2楼 发表于: 2013-04-22
不会出错,因为中间没有空格,问题处在程序出现选择操作提示后,参数如何传给程序。
离线feiyang111

只看该作者 3楼 发表于: 2013-04-22
程序执行中间会提示下一步的输入参数:(Y)es or (N)o?

这是个消息框还是什么
离线ljkbbc
只看该作者 4楼 发表于: 2013-04-22
是命令行里的提示
离线kimtaikee

只看该作者 5楼 发表于: 2013-04-23
1.要不你就在Launch这个程序的时候传递这个参数,例如CMD: copy /y 不提示覆盖。(详见copy 帮助)
2.把这个Console显示到最前端让用户手动填入。

快速回复
限100 字节
 
上一个 下一个