if(WS_EX_LAYERED & GetWindowLong(hwnd,GWL_EXSTYLE))
if(WS_EX_TRANSPARENT & GetWindowLong(hwnd,GWL_EXSTYLE))
is always without mouse cursor shape. since windows 3.1 and grapic cards with hardware overlay capablities you must not hide the cursor as you should do on windows 3.0 before painting. this is the reason why there was no flicker of the mouse cursor anyway. except the cursor is hidden and shown by the program, perhaps on WM_SETCURSOR message. the print screen function does it from traditional reasons. if you want the cursor shape you have to paint it yourself.