我有一个C ++方法(使用Visual Studio,如果有帮助的话)调用这样的cmd:
start \B example.exe arg1 arg2 arg3
问题是这个调用打开一个(cmd)窗口。 如果我打开另一个cmd,\ B工作,但是如果没有,它会打开一个新窗口。
我也尝试没有开始\ B,但它是一样的….
我想避开这个新窗口,但我不知道如何。 任何想法?
我不知道如何在C ++中做到这一点,但打开一个新的命令提示符窗口,也是使用批处理文件最小化(或“隐藏”)我将使用:
start /min cmd
或者,如果您启动命令提示符,则可以键入:
@echo off cls && start /b cmd
这会重新启动当前的命令提示符窗口而不关闭它,但是所有以前设置的环境变量都将被重置。 希望这可以帮助!
(PS。这已经过测试,并在Windows 7 Ultimate OS上成功)
您可以使用“/ C”开关
cmd.exe /c dir/b
这将运行“dir / b”命令并退出 – 将不显示任何窗口,但如果您要设置ECHO,请使用“/ q”开关
cmd.exe /c/q dir
尝试ShellExecuteEx ,设置nShow = SW_HIDE。
如何使用WSH而不是CMD提示?
您可以使用.Run,0来隐藏窗口,如下所示:
Set objShell = WScript.CreateObject("WScript.Shell") isHidden = 0 'change 0 to 1 to show the CMD prompt objShell.Run "%comspec% /c myfile.bat", isHidden
只需要不需要启动即可:
example.exe arg1 arg2 arg3