ShellExecute Может использоваться для создания процесса, это более удобный способ передачи аргументов.
Но если вы хотите использовать результаты процесса, тогда CreateProcess
, вероятно, является вашей лучшей ставкой
С помощью CreateProcess
вы можете передать STARTUPINFO структуру, которую можно использовать для передачи дескриптора файлового канала в Standard Out процесса.
CreateProcess
вернет PROCESS_INFORMATION структуру, содержащую HANDLE, для созданного процесса. Этот дескриптор станет сигнальным при выходе из процесса.
Таким образом, вы можете WaitForSingleObject на дескрипторе процесса, чтобы дождаться завершения вывода.
Не забудьте CloseHandle
на дескрипторе процесса и дескрипторе потока, когда вы закончите.