title: How to put a form behind desktop icons?
body: <p>How would you put a WinForms form behind desktop icons but in front of the wallpaper? To make the desktop the form's parent, I use:</p>
  
  <pre><code>    [DllImport("user32.dll", SetLastError = true)]
      static extern IntPtr FindWindow(string lpClassName, string lpWindowName);
  
      [DllImport("user32.dll", SetLastError = true)]
      static extern IntPtr SetParent(IntPtr hWndChild, IntPtr hWndNewParent);
  
      IntPtr desktopHandle = (IntPtr)FindWindow("Progman", null);
      WallForm wallWindow = new WallForm();//WinForms Form
  
      ...
  
      private void SwitchParent()
      {
          wallWindow.Show();
          SetParent(wallWindow.Handle, desktopHandle);
          //wallWindow.SendToBack();
      }
  </code></pre>
  
  <p>This works, but it puts the form in front of the desktop icons. If I call SendToBack on my form, it disappears, presumably behind the wallpaper. How could I get the form to be between the icons and the desktop background?</p>