Better test for visible desktop, should be working on all platforms.
Dmitry Timoshkov
dmitry at baikal.ru
Sat Mar 5 07:11:59 CST 2005
"Dmitry Timoshkov" <dmitry at baikal.ru> wrote:
> > It's not pretty, but I don't have an NT4 to test with, so I didn't want
> > to change
> > anything. Later I can refactor it into exactly the failing part.
>
> Did you consider implementing the approach Robert Shearman has pointed out?
Here is another way for testing for a visible desktop which just came
to my mind (based on the EMF test failure analysis and the description
from http://www.codeproject.com/gdi/cliprgnguide.asp):
static int running_on_visible_desktop ()
{
BOOL visible;
HWND desktop;
HDC hdc;
HRGN hrgn;
RECT rc;
desktop = GetDesktopWindow();
hdc = GetDC(desktop);
hrgn = CreateRectRgn(0, 0, 0, 0);
GetRandomRgn(hdc, hrgn, SYSRGN);
visible = GetRgnBox(hrgn, &rc) != NULLREGION;
DeleteObject(hrgn);
ReleaseDC(desktop, hdc);
return visible;
}
--
Dmitry.
More information about the wine-devel
mailing list