尝试使用cmd.exe参数执行SW_HIDE时:
ShellExecute(NULL, "open", "cmd.exe", NULL, NULL, SW_HIDE);cmd.exe实际上是隐藏执行的!我不明白为什么会发生这种情况,cmd.exe的控制台窗口被认为是接受nCmdShow参数的“正常”窗口,还是在执行cmd.exe时看到我传递了nCmdShow参数的SW_HIDE,并决定不显示控制台窗口?
注意:--我在Windows7上尝试了这段代码。
发布于 2015-06-27 06:03:07
这意味着cmd.exe在通过ShowWindow显示其窗口时只使用nCmdShow参数到WinMain (或者使用SW_SHOWDEFAULT,这意味着相同的事情),而不首先检查或修改该值。
它没有文档证明它会工作,所以您不应该依赖它,但是这是一个很好的副作用,可以很好地运行批处理脚本,而不会出现可见的窗口。
当然,如果您实际上在一个隐藏的窗口中启动了一个交互式cmd.exe,那么很难让它可见:)
https://stackoverflow.com/questions/31085453
复制相似问题