To simply run a file, then ShellExecute()
and CreateProcess()
are the best options.
As you want to redirect output to a file/run a shell command, it complicates things...
Output redirection is a feature of the command prompt, and as such, the command you want to run needs to be passed to cmd.exe
(on NT/XP+) passing /c
and your command as the parameters (either ShellExecute
or CreateProcess
will do).
cmd /c "ipconfig >c:debuglah.txt"
The best way however is to use CreateProcess()
and create your own pipes to talk to the stdin and stdout of the program (This is all cmd
does internally)
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…