<p>I want to create a c# application with multiple windows that are all transparent with some text on.</p>

<p>The tricky part is making these forms sit on top of the desktop but under the desktop icons. Is this possible?</p>

Just making the window transparent is very straight forward:
```
```
this.BackColor = Color.Fuchsia;
this.TransparencyKey = Color.Fuchsia;
```
```
You can do something like this to make it so you can still interact with the desktop or anything else under your window:
```
```
public const int WM_NCHITTEST = 0x84;
public const int HTTRANSPARENT = -1;

protected override void WndProc(ref Message message)
{
    if ( message.Msg == (int)WM_NCHITTEST )
    {
        message.Result = (IntPtr)HTTRANSPARENT;
    }
    else
    {
        base.WndProc( ref message );
    }
}
```
```