Better test for visible desktop, should be working on all platforms.
Jakob Eriksson
jakov at vmlinux.org
Sat Mar 5 10:21:40 CST 2005
Dmitry Timoshkov wrote:
>"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;
>}
>
>
>
Go for it, could you send a patch to wine-cvs?
regards,
Jakob
More information about the wine-devel
mailing list