我想从C ++应用程序执行命令。我是这样做的:
system("sendEmail.exe -f someone@somewhere.com -t ...");
这适用于Windows Server 2008以及其他系统。但是,它在我的新服务器(Windows Server 2012)上的工作方式不同,它似乎调用了命令但从未完成。如果我在命令窗口中输入完全相同的命令,它就可以正常工作。
我尝试使用
system("cmd.exe /C \"sendEmail.exe -f someone@somewhere.com -t ...\"");
但这没有帮助。
任何人都知道从C ++调用系统和在cmd中运行之间的区别是什么?
修改:此问题不再可再现。感谢您的快速答案
答案 0 :(得分:3)
尝试
system("cmd.exe");
没有参数 这只会打开一个 cmd 窗口并保持打开状态。在该窗口中,您可以调用 sendMail.exe ,看看发生了什么。也许只有不同的路径设置或权限问题。
作为替代方案,您可以使用Windows Api函数CreateProcess