Чтобы просто запустить файл, тогда ShellExecute()
и CreateProcess()
являются лучшими вариантами.
Поскольку вы хотите перенаправить вывод в файл / запустить команду оболочки, это усложняет ситуацию ...
Перенаправление вывода является функцией командной строки, и поэтому команда, которую вы хотите выполнить, должна быть передана cmd.exe
(в NT / XP +) с передачей /c
и ваша команда в качестве параметров (либо 1013 * или CreateProcess
сделает).
cmd /c "ipconfig >c:\debug\blah.txt"
Однако лучший способ - это использовать CreateProcess()
и создать свои собственные каналы для связи со стандартными и стандартными программами (это все, что cmd
делает внутри)