首页| 论坛| 消息

回复: QProcess调用控制台程序,不弹出界面?
#6 回 dbzhang800 的帖子 [foxgod 09-23 16:48]
dbzhang800:QProcess 有两种用法。
一个是调用 start() 或 execute():此时被调用函数的标准输入、标准输出、标准出错 都已经被重定向到QProcess创建的相应的管道中。在这种情况下,即使你的控制台程序有自己的Console,那么它既不能接收任何输入,也不会输出任何内容。
另一个用法是,star .. (2014-09-23 16:26) 
没错,我现在可以通过QProcess::startDetached("cmd.exe",list,&pid);但是我想在cmd,启动后,执行一些命令,比如dir或是PING,如何做呢,这里面的PID,我如何使用呢?
#7 [dbzhang800 09-23 23:20]
还是取决于你的设计,你要做什么。你是要那个Console窗口,让用于在里面操作。还是你需要启动cmd.exe程序,你的程序与之交互。
#8 回 dbzhang800 的帖子 [foxgod 09-24 10:40]
dbzhang800:还是取决于你的设计,你要做什么。你是要那个Console窗口,让用于在里面操作。还是你需要启动cmd.exe程序,你的程序与之交互。 (2014-09-23 23:20) 
我现在用PROCESS,调用程序后,没有显示出来界面,当时我这个界面上有些log信息,我想把这个信息保存在一个日志里面,但是我可能调用了很多程序,每个log信息我想保存在不同日志里面,瑞然readAllStandardOutput()可以获得输出,但是如何把每个控制台输出信息,保存在不同的日志里面呢
#9 回 foxgod 的帖子 [dbzhang800 09-24 10:52]
foxgod:
我现在用PROCESS,调用程序后,没有显示出来界面,当时我这个界面上有些log信息,我想把这个信息保存在一个日志里面,但是我可能调用了很多程序,每个log信息我想保存在不同日志里面,瑞然readAllStandardOutput()可以获得输出,但是如何把每个控制台输出信息,保存在不同的日志里面呢
可能还是没理解你要做什么。感觉上,你这个需求完全不需要那个Console出来。或者你说说看,在控制台下下面,你如何实现将其保存在不同日志里面的?
对一个控制台程序来说,和外界的交互无非是:命令行参数,标准输入,标准输出,标准出错,返回值,环境变量,工作目录 这几个东西。对此QProcess都已经提供完整支持。
#10 回 dbzhang800 的帖子 [foxgod 09-24 14:38]
dbzhang800:可能还是没理解你要做什么。感觉上,你这个需求完全不需要那个Console出来。或者你说说看,在控制台下下面,你如何实现将其保存在不同日志里面的?
对一个控制台程序来说,和外界的交互无非是:命令行参数,标准输入,标准输出,标准出错,返回值,环境变量,工作目录 这几个东 .. (2014-09-24 10:52) 
for(int i = 0 ; i setProgram(str);
process->start();
}
对于这样的程序,如何让process调用的程序在控制台打印的信息,现在在不同的日志里面?

<< 1 2 3 4 >> (2/5)

回复 发表
主题 版块