That's why we have libthread with its threadcreate/proccreate/procexec. I've been moving stuff over to windows and just kept the libthread interface. It's amazing how awkward win32 makes all of the same. Every process control call turns into a handful of calls, each with a dozen params.