在 C# 中,有一个属性使应用程序能够在不显示应用程序窗口的情况下运行 3rd 方应用程序。
有没有办法在不使用 Win32 CreateProcess 函数的情况下运行控制台应用程序而不在 QT 中显示控制台窗口?
QProcess.start()
将运行控制台应用程序而不显示其窗口,但您可能还希望对其进行一些控制。请看这个例子:
QProcess p;
p.setProcessChannelMode(QProcess::MergedChannels);
p.setStandardOutputFile("out.txt");
p.start("cmd.exe", QStringList()<<"/C"<<"ping"<<"127.0.0.1");
p.waitForStarted();
p.waitForFinished();
QStringList
您可以使用 start 方法(内部)中的第二个参数将命令和参数传递到控制台。也可以使用setStandardOutputFile
方法将输出重定向到某个文件。
如果需要显示窗口,请使用p.startDetached()
.