Window “on desktop”

My answer is in terms of the Win32 API, not specific to WPF (and probably requiring P/Invoke from C#):

Rainlendar has two options:

  • “On Desktop”, it becomes a child of the Explorer desktop window (“Program Manager”). You could achieve this with the SetParent API.
  • “On Bottom” is what you describe – its windows stay at the bottom of the Z-order, just in front of the desktop. It’s easy enough to put them there to begin with (see SetWindowPos) – the trick is to stop them coming to the front when clicked. I would suggest handling the WM_WINDOWPOSCHANGING message.

Leave a Comment