
There are rare instances where the z-pos of a skin gets "out of order" and needs to be clicked on, but it's rare. A lot of this was found by trial and error (and spy++) since MS hasn't really documented most of this.Īlso, this was added way back in 2011 and works most of the time. You might want to research WorkerW windows as well. Here is the place where the z-pos changes: System.cpp#L832-L868

I won't get into the exact details (since that is beyond the scope of this issues section), but I will point you to the code that does this.

We also utilize a timer to periodically check the desktop state.

The solution we came up with is to hook the EVENT_SYSTEM_FOREGROUND event, then manually set all the skins z-pos to above the desktop window. Unfortunately, there is no magical flag or winapi function that achieves this.
