MSDN explains how you do what popen does using the Windows API in Pipe Handle Inheritance . Here it provides a well-documented example. It’s way more low-level than the _popen
function found in the runtime library linked by Jason, but uses the Win32 API exclusively.