我的应用程序不是控制台应用程序。 我正在使用 _popen 从我的代码中运行一个命令行命令。 当 _popen 进程正在运行时,会出现一个控制台窗口。 我想隐藏这个窗口。
ShellExecute()
,而非_popen()
或system()
。
https://msdn.microsoft.com/en-us/library/windows/desktop/bb762153%28v=vs.85%29.aspx
更多细节: https://msdn.microsoft.com/zh-cn/library/windows/desktop/bb776886(v=vs.85).aspx您可以使用WinExec("您的cmd命令", SW_HIDE);代替system或_popen。
WinExec
是对于_popen
甚至system
的不良替代品。它不能返回一个进程句柄来等待并调用GetExitCodeProcess
,也不能让你向stdin写入数据或者从stdout读取数据。自Win32首次发布以来,它就被弃用了,只是为了与1980年代的Win16程序保持向后兼容性。 - Eryk Sun