title: Why is my hidden process still visible?
body: <p>I'm printing a document by creating a <code>System.Diagnostics.Process</code> object and then setting the <code>StartInfo</code> verb to "print", then calling the process <code>Start()</code> method.</p>
  
  <p>I want this print process to be hidden, so I'm setting <code>CreateNoWindow = true</code> and <code>WindowStyle = ProcessWindowStyle.Hidden</code>. But the application (Word or Acrobat) still appears during the printing.</p>
  
  <p>I know that the hidden process settings are ignored if a username or password is set for the process and I've debugged through and verifyied they are empty. I've even tried explicitly setting them to NULL to no avail.</p>
  
  <p>I'm wondering if the action of printing makes the application behave as if it requires user intervention (Word displays a "printing document.." dialog box) which negates the settings to hide it.</p>
  
  <p>I'm using .Net 2.0, C#, Word 2007 and Windows Vista.</p>
  
  <p>My actual code is as follows:</p>
  
  <pre><code>System.Diagnostics.Process shellProcess = new System.Diagnostics.Process();
  shellProcess.StartInfo.FileName = fullFileName;                   
  shellProcess.StartInfo.CreateNoWindow = true;
  shellProcess.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
  shellProcess.StartInfo.Verb = "print";
  shellProcess.Start();
  </code></pre>
  
  <p>Help is really appreciated...</p>
  
  <p><em>Note that I'm aware that I can use the Word or Acrobat API to achive the same thing but this question is specifically about the visibility of the shell process.</em></p>