Я хочу выполнить команду из приложения C++. Я использую:
system("sendEmail.exe -f [email protected] -t ...");
Это работает в Windows Server 2008, а также в других системах. Однако он не работает на моем новом сервере (Windows Server 2012), он, кажется, вызывает команду, но никогда не завершается. Если я ввожу ту же самую команду в командном окне, она работает нормально.
Я попытался использовать
system("cmd.exe /C \"sendEmail.exe -f [email protected] -t ...\"");
но это не помогло.
У кого-нибудь есть идея, в чем разница между вызовом из C++ с системой и запуском в cmd?
Изменить: проблема уже не воспроизводима. Спасибо за быстрые ответы
Попробуйте
system("cmd.exe");
без параметров. Это просто откроет окно cmd и оставьте его открытым. Из этого окна вы можете вызвать sendMail.exe и посмотреть, что происходит. Возможно, существует только другой путь или разрешение.
В качестве альтернативы вы можете использовать функцию Windows Api CreateProcess