微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何隐藏进程的控制台给定其PID?

我想开始一个过程,当我点击我的Qt应用程序上的button。 我用QProcess::startDetached(...,qint64 * pid) ( http://doc.qt.io/qt-5/qprocess.html#startDetached )创build了一个进程,但我有一个控制台,我想隐藏。

如何隐藏它? 我必须在stream程外使用哪个function?

代码不会隐藏我的进程的控制台(在win32中):

if (AttachConsole((DWORD)m_PID)) { FreeConsole(); }

在Windows / Java中反向换行

PHP5压缩文件.zip

如何在Linux中获取键盘状态?

Python控制台菜单使用字典

Windows环境variables中的控制台宽度

Win32terminal:意想不到的打印行为

编写在Windows下的Java应用程序中生成的C ++控制台应用程序

Python语法错误后保持打开的Windows控制台

隐藏进程窗口,为什么它不工作?

最有效的写入控制台的方法

如果你可以重新编译你正在启动的程序,你可以使它成为一个Windows而不是控制台程序(在MSVC中,这是项目链接器 – >系统,设置,你想要/SUBSYstem:WINDOWS )。

否则QT start方法显然不会创建一个控制台窗口,而startDetached这样做,所以你可能会使用start取决于你的使用。

或者, CreateProcess的CREATE_NO_WINDOW标志将阻止自动控制台,引用MSDN:

该进程是一个正在运行的控制台应用程序,没有控制台窗口。 因此,应用程序的控制台句柄未设置。

不幸的是,它看起来并不像QT提供的任何方式来创建或使用本机标志或从本地句柄(例如没有QProcess process(CreateProcess(...)) )的QProcess process(CreateProcess(...)) ,虽然这是建议几年前和拒绝。 QProcess:可以设置本地进程创建标志

所以你要么只是使用微软的API,要么找到另一个用于多进程工作的库。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐