gpt4 book ai didi

c++ - 为什么 ShellExecute()ing cmd.exe 隐藏有效?

转载 作者:行者123 更新时间:2023-11-30 05:41:38 25 4
gpt4 key购买 nike

当尝试使用 SW_HIDE 参数执行 cmd.exe 时:

ShellExecute(NULL, "open", "cmd.exe", NULL, NULL, SW_HIDE);

cmd.exe其实是隐藏执行的!我不明白为什么会这样,cmd.exe 的控制台窗口是否被认为是接受 nCmdShow 参数的“正常”窗口,或者 cmd.exe 在执行时看到我通过了 SW_HIDE 用于 nCmdShow 参数并决定不显示控制台窗口?

注意:我在 Windows 7 上试过这段代码。

最佳答案

这意味着 cmd.exe 只是将 nCmdShow 参数用于 WinMain(或者它使用 SW_SHOWDEFAULT 这意味着同样的事情)当通过 ShowWindow 显示它的窗口时,没有先检查或修改值。

没有记录它会起作用,因此您不应该依赖它,但它是一个很好的副作用,可以作为运行批处理脚本而不出现可见窗口的好方法。

当然,如果您实际上在隐藏窗口中启动交互式 cmd.exe,则很难让它可见 :)

关于c++ - 为什么 ShellExecute()ing cmd.exe 隐藏有效?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31085453/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com