Системный вызов Windows, чтобы открыть / закрыть другой исполняемый файл

0
system("C:\\server.exe ine >> request.xml");

Эта программа принимает ine как параметр и записывает вывод в файл request.xml. Программа успешно записывает вывод в файл, но не закрывает файл. Я пытался

exit(0)

но он не выполняется после системы (...)

Похоже, что программа повешена, и мне нужно закрыть ее вручную.

Как я могу закрыть программу прагматично?

  • 0
    Использовать fclose( ) ?
Теги:
winapi
system-calls

2 ответа

1
Лучший ответ

Не используйте system. Кажется, что процесс, который вы вызываете (C:\server.exe), не выходит после его запуска. system будет просто зависать, пока процесс не завершится.

Вместо этого рассмотрите возможность использования CreateProcess и TerminateProcess для более тщательного контроля жизненного цикла вашей программы. В этом случае вам нужно будет указать выходной файл вручную через STARTUPINFO.hStdOutput или вызвать cmd.exe с нужной командной строкой.

1

Ваша проблема в C:\server.exe. Он не выходит должным образом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню