Practical uses aside, how (if it is possible at all) could you create a "snowing" effect on your desktop PC running Windows? Preferably with nothing but raw C/C++ and WinAPI.
The requirements for the snow are:
Appears over everything else shown;
Snowflakes are small, possibly simple dots or clusters of a few white pixels;
Does not bother working with the computer (clicking a snowflake sends the click through to the underlying window);
Plays nicely with users dragging windows;
Multimonitor capable.
Bonus points for any of the following features:
Snow accumulates on the lower edge of the window or the taskbar (if it's at the bottom of the screen);
Snow accumulates also on top-level windows. Or perhaps some snow accumulates, some continues down, accumulating on every window with a title bar;
Snow accumulated on windows gets "shaken off" when windows are dragged;
Snow accumulated on taskbar is aware of the extended "Start" button under Vista/7.
Snowflakes have shadows/outlines, so they are visible on white backgrounds;
Snowflakes have complex snowflike-alike shapes (they must still be tiny).
Most of these effects are straightforward enough, except the part where snow is click-through and plays nicely with dragging of windows. In my early days I've made an implementation that draws on the HDC you get from GetDesktopWindow(), which was click-through, but had problems with users dragging windows (snowflakes rendered on them got "dragged along").
The solution may use Vista/7 Aero features, but, of course, a universal solution is preferred. Any ideas? :)