在 C++ 中运行 cmd 命令之前,我想设置一些临时环境变量,该变量会在命令行会话结束时被删除。
例如在执行下面的cmd命令之前,我想设置P4PASSWD
强制环境变量。
sprintf_s(p4Command, 500, "/C p4.exe print -o \"%s\" -q %s", destination, source);
LPCSTR Command = p4Command;
ShellExecute(0, "open", "cmd.exe", Command, 0, SW_HIDE);
如果允许我们在一个会话中执行多个 cmd 命令,则这是可能的。但我不知道如何实现。如果需要更多输入,请告诉我。
使用 CreateProcess 运行 p4.exe 并在 lpEnvironment 参数中传递一组环境变量。
http://msdn.microsoft.com/en-us/library/windows/desktop/ms682009%28v=vs.85%29.aspx http://msdn.microsoft.com/en-us/library/windows/desktop/ms682009%28v=vs.85%29.aspx
CreateProcess 为您带来额外的好处;您可以等待进程终止,您可以检索退出代码等。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)