The mIRC display routine checks to see if the Window is visible or not. If it is not visible it does not update the display. The reason it does this is that the display routine is called directly by a number of other routines not just by WM_PAINT. So I don't think you'll be able to capture the client area for hidden windows currently. I will change this in the next version to allow capture via the WM_PRINT command and will add support for WM_PRINTCLIENT as well.