I'm using the 'StretchBlt' API to perform a "print screen" operation. Everything works fine on my system and on some others. On many systems, however, 'StretchBlt' returns zero (=> FALSE => error) and the screen is not printed. Interestingly, the 'GetLastError' function (called right after 'StretchBlt') returns a 0 (i.e. no error)!
All the systems which I tested have a Pentium CPU and are running NT4 with SP3. These systems are connected to the same networked printer (a HP LaserJet 5Si MX). One system has a local printer; 'StretchBlt' fails on that as well. These systems are all quite similar, although they do vary in the color depth of the display. (However, even the system with only 256 colors fails...)
According to the 'GetDeviceCaps' API, the printer and all the screens are capable of performing the 'StretchBlt' function.
It doesn't seem to matter if a user has 'local admin' rights or not.
Does any have a clue as to WHY the 'StretchBlt' function would fail on many systems and yet work fine on some apparently-identical ones?