I need to draw a scrolling text directly on desktop. I can draw text on top of all windows using DC := GetDC(0). But I don't want that. The drawing has to be on desktop only, and not on top off all open windows. My text needs to be below the icons on the desktop!
How ca I do this in Delphi? I guess Windows 7 has new API functions to allow easier access to desktop window this since it can fade the wallpaper.
This has been possible for a long time with layered windows. Use the WS_EX_LAYERED and WS_EX_TRANSPARENT window states. You will want to ensure that the z-order of the window puts it underneath all other top-level windows. The article I link to has a number of code samples to get you going.
After I added this answer you added a further requirement that the text be drawn beneath the icons on the desktop. I suspect that this is not possible with layered windows since layered windows cannot be child windows.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With