title: Show a taskbar item with a NativeWindow
body: <p>My application is intended to work almost entirely through a Windows 7 taskbar item with the use of thumbnails and jump lists. I know I can easily create a <code>Form</code> and simply hide it, but this seems like overkill. Plus, I'd like to toy around with <code>NativeWindow</code> as much as possible, because I've never used it before.</p>
  
  <p>Essentially, I have a class called <code>RootWindow</code> that derives from <code>NativeWindow</code> that will handle hotkeys and hopefully everything else. I don't need a visible window at all, but simply something to process window messages and provide a taskbar item that I can attach thumbnails and jump lists to.</p>
  
  <p>Is there some kind of special <code>CreateParams</code> option I need to pass to <code>CreateHandle</code>? Or am I out of luck?</p>
  
  <p><strong>EDIT:</strong> Well, it was easier than I thought it would be, although it's not exactly what I want. Once I passed the <code>NativeWindow</code>'s handle to the <code>ShowWindow</code> API, the taskbar item appeared. However, it also shows a window in the upper left corner of the screen. Is there some way to get rid of that window while still showing the taskbar item?</p>
  
  <pre><code>public class RootWindow : NativeWindow {
      public const int SW_SHOWNOACTIVATE = 4;
  
      [DllImport("User32.dll")]
      private static extern int ShowWindow(IntPtr hWnd, short cmdShow);
  
      public RootWindow() {
              CreateHandle(new CreateParams());
              ShowWindow(this.Handle, SW_SHOWNOACTIVATE);
      }
  }
  </code></pre>