title: How can I run a child process that requires elevation and wait?
body: <p>Win 7/UAC is driving me crazy.</p>
  
  <p>From within my C++ application, I need to run an executable that requires elevation on Windows 7.  I want to fire this thing off and wait for it to finish before proceeding.  What's the easiest way to do this?</p>
  
  <p>I normally do this kind of thing via <code>CreateProcess()</code>, but it fails for executables that require elevation.</p>
  
  <p>I tried running using <code>cmd.exe /c ...</code> through <code>CreateProcess</code>, which works but pops up an ugly cmd terminal window.</p>
  
  <p>I am reading that <code>ShellExecute()</code> will allow elevation, but it doesn't appear to be easy to wait for the exe to finish when using <code>ShellExecute()</code>.
  Will something simple like <code>system()</code> work?</p>
  
  <p>Any other ideas are greatly appreciated!</p>