首页| 论坛| 消息
主题:在CONFIG +=console状态下,如何手动隐藏控制台?
回帖:查资料发现windows系统会使用一个叫做conhost.exe来承接命令行,如果通过此程序来启动进程就不会出现各个版本不统一的情况了,cmd.exe不行,我把xp下的cmd.exe拷贝到win11下双击运行依然是多标签窗口(真是日了狗了)
此方法可以通过
HWND hwnd = GetConsoleWindow();
ShowWindow(hwnd,SW_HIDE);
来实现隐藏命令行窗口
===================================
在windows下双击启动的父进程是explorer.exe, 命令行启动的话父进程是(cmd, pwsh等),
针对楼主需求,可以使用非命令行程序,如果父进程是explore则分配控制台

AllocConsole();//打开控制台
freopen("CON","w",stdout);//将输出定向到控制台
当然qdebug()之类的也要重定向一份到输出到控制台
下一楼›:spygg:查资料发现windows系统会使用一个叫做conhost.exe来承接命令行,如果通过此程序来启动进程 ..
‹上一楼:spygg:这个我还真测过,是可用的,用spy++抓包终端确实好几个别的窗口,但是一隐藏当前进程的窗口名 ..

查看全部回帖(10)
«返回主帖