[ cesare @ 10.06.2014. 13:09 ] @
Pozdrav svima !!!!

Moja aplikacija koristi GetCursorPos funkciju da bi došao do koordinata piksela gde se nalazi miš na ekranu. Zatim se uz pomoć ove funkcije

Code:

        private static Color GetColorAt(Point location)
        {
            using (Graphics gdest = Graphics.FromImage(screenPixel))
            {
                using (Graphics gsrc = Graphics.FromHwnd(IntPtr.Zero))
                {
                    IntPtr hSrcDC = gsrc.GetHdc();
                    IntPtr hDC = gdest.GetHdc();
                    int retval = BitBlt(hDC, 0, 0, 1, 1, hSrcDC, location.X, location.Y, (int)CopyPixelOperation.SourceCopy);
                    gdest.ReleaseHdc();
                    gsrc.ReleaseHdc();
                }
            }
            return screenPixel.GetPixel(0, 0);
        }


uzima boja tog piksela. Sve ovo lepo radi na WinXp, Win7 i Win8 64b. Na Win32b ova funkcija radi potpuno pogrešno. Prikazuje da se npr. grupa piksela iste boje nalazi par centimetara dole i desno ???? Ne mogu pronaći razlog ovakvog ponašanja aplikacije.

Unapred hvala....
[ dusans @ 10.06.2014. 13:33 ] @
Jel si proverio više puta da li je location uopšte dobar?
[ cesare @ 10.06.2014. 13:50 ] @
Ako i jeste problem sa lokacijom miša, zašto onda funkcija samo na Win8 32b verziji vraća pogrešne koordinate ?
[ dusans @ 10.06.2014. 14:58 ] @
Ako je do GetCursorPos, onda je verovatno ovaj problem:
http://social.msdn.microsoft.c...indowsgeneraldevelopmentissues