예제 #1
0
        private void sprawdzTlo(kolor kolor_tla)
        {
            int wsp_x             = AutoItX.MouseGetPos().X;
            int wsp_y             = AutoItX.MouseGetPos().Y;
            int pobrany_kolor_tla = AutoItX.PixelGetColor(wsp_x, wsp_y);

            int licznik = 0;

            while ((int)kolor_tla == pobrany_kolor_tla)
            {
                AutoItX.Sleep(700);
                licznik += 1;

                if (licznik > 5)
                {
                    licznik = 0;
                    DialogResult dialogResult = MessageBox.Show("Kliknij powrót i wybierz ok", "Błąd", MessageBoxButtons.YesNo);
                    if (dialogResult == DialogResult.Yes)
                    {
                    }
                    else
                    {
                        this.Close();
                    }
                }
            }
        }
예제 #2
0
        public void Code(CancellationToken cancel)
        {
            if (cancel.IsCancellationRequested)
            {
                return;
            }

            string win_desc = "[REGEXPTITLE:Ember Bootloader and Range Test .*]";
            IntPtr hwnd     = activate_win(win_desc);

            AutoItX.MouseMove(_point_State_color.X, _point_State_color.Y, 0);

            AutoItX.Send("{SPACE}");
            Thread.Sleep(2000);

            Stopwatch watch = new Stopwatch();

            watch.Start();
            int    pixel_color = 0;
            string msg;

            while (true)
            {
                if (cancel.IsCancellationRequested)
                {
                    break;
                }

                pixel_color = AutoItX.PixelGetColor(_point_State_color.X, _point_State_color.Y);

                if (pixel_color == _cred)
                {
                    AutoItX.MouseMove(_point_State_color.X, _point_State_color.Y, 0);
                    msg = string.Format("Red pixel at location X={0}, Y={1} after {2:F2} s",
                                        _point_State_color.X, _point_State_color.Y, watch.Elapsed.TotalSeconds);
                    throw new Exception(msg);
                }
                else if (pixel_color == _cgreen)
                {
                    break;
                }


                Thread.Sleep(500);
                if (watch.Elapsed > _timeout)
                {
                    AutoItX.MouseMove(_point_State_color.X, _point_State_color.Y, 0);
                    msg = string.Format("Timeout after {0:hh\\:mm\\:ss}. Unable to detect green or read pixel at location X={1}, Y={2}",
                                        watch.Elapsed, _point_State_color.X, _point_State_color.Y);
                    throw new Exception(msg);
                }

                if (AutoItX.WinActive(hwnd) == 0)
                {
                    AutoItX.WinActivate(hwnd);
                    AutoItX.MouseMove(_point_State_color.X, _point_State_color.Y, 0);
                }
            }
        }
예제 #3
0
        /// <summary>
        /// Получение цвета элемента пикселя
        /// </summary>
        /// <param name="element">Автоматизированный элемент</param>
        /// <returns></returns>
        public string GetColorPixel(AutomationElement element)
        {
            element.SetFocus();
            var clickPoint = element.GetClickablePoint();
            var hexPixel   = AutoItX.PixelGetColor((int)clickPoint.X, (int)clickPoint.Y);

            return(Convert.ToString(hexPixel, 16));
        }
예제 #4
0
        //Wyszukuje przycisk powrót, szuka dopóki nie znajdzie koloru od tla
        private void szukajPowrot()
        {
            int kolorTla = 8554114;
            int x        = 1970;
            int y        = 946;

            int pobranyKolorTla = AutoItX.PixelGetColor(x, y);

            if (pobranyKolorTla != kolorTla)
            {
                AutoItX.MouseClick();
            }
            else
            {
                for (int i = 0; i < 25; i += 2)
                {
                    AutoItX.MouseMove(x, y -= i);

                    //pozycja startowa
                    int x_prawo = x;
                    int x_lewo  = x;

                    //przesuwamy w prawo i lewo
                    for (int j = 0; j < 6; j++)
                    {
                        AutoItX.MouseMove(x_prawo += j, y);
                        int x_aktualna = AutoItX.MouseGetPos().X;
                        int y_aktualna = AutoItX.MouseGetPos().Y;
                        if (kolorTla != AutoItX.PixelGetColor(x_aktualna, y_aktualna))
                        {
                            AutoItX.MouseClick();
                            break;
                        }

                        AutoItX.MouseMove(x_lewo -= j, y);
                        x_aktualna = AutoItX.MouseGetPos().X;
                        y_aktualna = AutoItX.MouseGetPos().Y;

                        if (kolorTla != AutoItX.PixelGetColor(x_aktualna, y_aktualna))
                        {
                            AutoItX.MouseClick();
                            break;
                        }
                    }
                }
            }
        }
예제 #5
0
        public void Detect()
        {
            uint color = ((uint)AutoItX.PixelGetColor(xCord, yCord)) & 0xFFFFFF;

            Console.WriteLine("Automation detect: color = {0:X8}", color);

            recentColors.Add(color);

            if (recentColors.Count > detectionCount)
            {
                recentColors.RemoveAt(0);

                for (int i = 0; i < recentColors.Count - 1; ++i)
                {
                    if (recentColors[i] != recentColors[i + 1])
                    {
                        AutomationEnabled = true;
                        return;
                    }
                }

                AutomationEnabled = false;
            }
        }
예제 #6
0
 private static uint GetPixelColor(int x, int y)
 {
     return(((uint)AutoItX.PixelGetColor(x, y)) & 0x00FFFFFF);
 }
 public int PixelGetColor(int x, int y)
 {
     return(AutoItX.PixelGetColor(x, y));
 }
예제 #8
0
        private void PobierzEukw(string[] kw)
        {
            if (AutoItX.WinActivate("EUKW - Prezentacja Księgi Wieczystej - Mozilla Firefox", "") == 1)
            {
                int licznik = 0;
                while (sprawdzZnajdz() != "Znajdź księgę wieczystą po kryteriach ")
                {
                    AutoItX.Sleep(500);
                    licznik += 1;

                    if (licznik == 5)
                    {
                        licznik = 0;
                        throw new System.Exception("ZA dlugo");
                    }
                }


                string numer_ksiegi    = kw[1];
                string cyfra_kontrolna = kw[2];
                var    notification    = new System.Windows.Forms.NotifyIcon()
                {
                    Visible         = true,
                    Icon            = System.Drawing.SystemIcons.Information,
                    BalloonTipIcon  = System.Windows.Forms.ToolTipIcon.Info,
                    BalloonTipTitle = "AutoIT - Ksiei Wieczyste",
                    BalloonTipText  = "Trwa pobieranie danych z księgi wieczystej: SR2W/" + numer_ksiegi + '/' + cyfra_kontrolna,
                };
                notification.ShowBalloonTip(5000);

                //Przesuń i wpisz sąd
                AutoItX.MouseMove(2433, 464, 1);
                AutoItX.Sleep(500);
                AutoItX.MouseClick();
                AutoItX.Send("SR2W");
                AutoItX.Send("{TAB}");
                AutoItX.Sleep(500);

                //Wpisz numer księgi
                AutoItX.Send(numer_ksiegi);
                AutoItX.Send("{TAB}");
                AutoItX.Sleep(500);

                //Wpisz cyfrę kontrolną
                AutoItX.Send(cyfra_kontrolna);
                AutoItX.Sleep(700);

                //przesuń nad google captcha
                AutoItX.MouseMove(2433, 546);
                AutoItX.Sleep(500);
                AutoItX.MouseClick();
                AutoItX.Sleep(4000);
                int colorPixel = 0;
                colorPixel = AutoItX.PixelGetColor(2435, 549);
                while (colorPixel != 40533)
                {
                    colorPixel = AutoItX.PixelGetColor(2435, 549);
                    AutoItX.Sleep(500);
                    licznik += 1;
                    if (licznik == 5)
                    {
                        licznik = 0;
                        DialogResult dialogResult = MessageBox.Show("Rozwiąż captche i wybierz ok", "captha do rozwiazania", MessageBoxButtons.YesNo);
                        if (dialogResult == DialogResult.Yes)
                        {
                            colorPixel = 40533;
                        }
                    }
                }

                //wyszukaj księge
                AutoItX.MouseMove(2933, 685);
                AutoItX.Sleep(500);
                AutoItX.MouseClick();
                AutoItX.Sleep(6000);

                //sprawdzanie czy wczytala sie ksiega
                colorPixel = AutoItX.PixelGetColor(2527, 537);
                while (colorPixel == 16382457)
                {
                    colorPixel = AutoItX.PixelGetColor(2527, 537);
                    AutoItX.Sleep(500);
                    licznik += 1;
                    if (licznik == 15)
                    {
                        licznik = 0;
                        throw new System.Exception("Za dlugo");
                    }
                }

                //wspolrzedne 2643,324 dla aktywnej captchy

                //Sprawdzamy czy KW nie jest zamknięta
                bool kw_zamknieta = CheckingClass.czyKwZamknieta();
                if (kw_zamknieta == true)
                {
                    goto KsiegaZamknieta;
                }

                //Przeglądanie aktualnej treści KW
                UstawPrzegladanie();

                AutoItX.Sleep(500);
                AutoItX.MouseClick();
                AutoItX.Sleep(5000);

                //Czekam na wczytanie księgi
                colorPixel = AutoItX.PixelGetColor(1959, 123);
                while (colorPixel != 8554114)
                {
                    colorPixel = AutoItX.PixelGetColor(1959, 123);
                    AutoItX.Sleep(500);
                    licznik += 1;
                    if (licznik == 15)
                    {
                        licznik = 0;
                        throw new System.Exception("Za dlugo na wczytanie księgi");
                    }
                }

                //Dzial III

                ///Sprawdz czy poprawny dzial
                ///
                AutoItX.MouseMove(2512, 219);
                AutoItX.MouseClick();
                AutoItX.Sleep(800);
                while (sprawdzDzial() != "DZIAŁ III - PRAWA, ROSZCZENIA I OGRANICZENIA")
                {
                    AutoItX.Sleep(800);
                    licznik += 1;
                    if (licznik == 15)
                    {
                        licznik = 0;
                        DialogResult dialogResult = MessageBox.Show("Kliknij dzial III i wybierz OK", "DZIAL III problem", MessageBoxButtons.YesNo);
                        if (dialogResult == DialogResult.Yes)
                        {
                        }
                    }
                }


                AutoItX.Send("^u");
                AutoItX.Sleep(1000);
                AutoItX.Send("^a");
                AutoItX.Sleep(1000);
                AutoItX.Send("^c");
                AutoItX.Sleep(800);
                AutoItX.Send("^{F4}");
                AutoItX.Sleep(1000);
                dzial_III = Clipboard.GetText();
                AutoItX.Sleep(1500);


                //DZIAL II
                AutoItX.MouseMove(2349, 219);
                AutoItX.Sleep(800);
                AutoItX.MouseClick();
                while (sprawdzDzial() != "DZIAŁ II - WŁASNOŚĆ")
                {
                    AutoItX.Sleep(800);
                    licznik += 1;
                    if (licznik == 15)
                    {
                        licznik = 0;
                        DialogResult dialogResult = MessageBox.Show("Kliknij dzial II i wybierz OK", "DZIAL II problem", MessageBoxButtons.YesNo);
                        if (dialogResult == DialogResult.Yes)
                        {
                        }
                        else
                        {
                            this.Close();
                        }
                    }
                }
                AutoItX.Sleep(800);
                AutoItX.Send("^u");
                AutoItX.Sleep(800);
                AutoItX.Send("^a");
                AutoItX.Sleep(800);
                AutoItX.Send("^c");
                AutoItX.Sleep(800);
                AutoItX.Send("^{F4}");
                AutoItX.Sleep(1000);
                dzial_II = Clipboard.GetText();
                AutoItX.Sleep(1500);

                //DZIAL I-sp
                AutoItX.MouseMove(2176, 219);
                AutoItX.Sleep(800);
                AutoItX.MouseClick();
                AutoItX.Sleep(800);

                while (sprawdzDzial() != "DZIAŁ I-SP - SPIS PRAW ZWIĄZANYCH Z WŁASNOŚCIĄ")
                {
                    AutoItX.Sleep(500);
                    licznik += 1;
                    if (licznik == 15)
                    {
                        licznik = 0;
                        DialogResult dialogResult = MessageBox.Show("Kliknij dzial I-SP i wybierz OK", "DZIAL I problem", MessageBoxButtons.YesNo);
                        if (dialogResult == DialogResult.Yes)
                        {
                        }
                        else
                        {
                            this.Close();
                        }
                    }
                }
                AutoItX.Send("^u");
                AutoItX.Sleep(800);
                AutoItX.Send("^a");
                AutoItX.Sleep(800);
                AutoItX.Send("^c");
                AutoItX.Sleep(800);
                AutoItX.Send("^{F4}");
                AutoItX.Sleep(1000);
                dzial_Isp = Clipboard.GetText();
                AutoItX.Sleep(1500);

                //DZIAL I-O

                AutoItX.MouseMove(1970, 219);
                AutoItX.Sleep(800);
                AutoItX.MouseClick();
                AutoItX.Sleep(800);
                while (sprawdzDzial() != "DZIAŁ I-O - OZNACZENIE NIERUCHOMOŚCI")
                {
                    AutoItX.Sleep(800);
                    licznik += 1;
                    if (licznik == 15)
                    {
                        licznik = 0;

                        DialogResult dialogResult = MessageBox.Show("Kliknij dzial I-O i wybierz OK", "DZIAL I-O problem", MessageBoxButtons.YesNo);
                        if (dialogResult == DialogResult.Yes)
                        {
                        }
                        else
                        {
                            this.Close();
                        }
                    }
                }
                AutoItX.Send("^u");
                AutoItX.Sleep(800);
                AutoItX.Send("^a");
                AutoItX.Sleep(800);
                AutoItX.Send("^c");
                AutoItX.Sleep(800);
                AutoItX.Send("^c");
                AutoItX.Sleep(800);
                AutoItX.MouseClick();
                AutoItX.Send("^{F4}");
                AutoItX.Sleep(1000);
                dzial_Io = Clipboard.GetText();
                AutoItX.Sleep(1500);


                //Powrót do początku

                AutoItX.Send("{END}");
                AutoItX.MouseMove(1970, 946);

                szukajPowrot();

                /*AutoItX.Sleep(800);
                 * AutoItX.MouseClick();*/
                AutoItX.Sleep(1500);
                AutoItX.Send("{END}");
                AutoItX.Sleep(800);
                AutoItX.MouseMove(2566, 577);
                sprawdzTlo(kolor.bialy);
                AutoItX.MouseMove(2662, 748);
                AutoItX.Sleep(800);
                AutoItX.MouseClick();

                //Powrót do kryteriów

                AutoItX.Sleep(1500);

                AutoItX.Send("{END}");
                AutoItX.MouseMove(2661, 747);

                AutoItX.Sleep(500);

                AutoItX.MouseClick();

                AutoItX.Sleep(6000);



                StringBuilder numerKsiegi = new StringBuilder();
                numerKsiegi.Append("SR2W/");
                numerKsiegi.Append(numer_ksiegi);
                numerKsiegi.Append("/");
                numerKsiegi.Append(cyfra_kontrolna);

                //dodajKsiegeDoBazy(numerKsiegi.ToString(), dzial_III, dzial_II, dzial_Isp, dzial_Io);
                DodajKsiegeDoBazySQL(numerKsiegi.ToString(), dzial_III, dzial_II, dzial_Isp, dzial_Io);

KsiegaZamknieta:
                if (kw_zamknieta == true)
                {
                    string data_zamkniecia_kw = CheckingClass.DataZamknieciaKsiegi;
                    DodajKsiegeDoBazySQL("SR2W/" + numer_ksiegi + "/" + cyfra_kontrolna, data_zamkniecia_kw, "NULL", "NULL", "NULL");
                }
            }
            else
            {
                DialogResult dialogResult = MessageBox.Show("Czy uruchomić stronę EKW?", "Komunikat", MessageBoxButtons.YesNo);
                if (dialogResult == DialogResult.Yes)
                {
                    var iPID = AutoItX.Run(@"C:\Program Files (x86)\Mozilla Firefox\firefox.exe https://przegladarka-ekw.ms.gov.pl/eukw_prz/KsiegiWieczyste/wyszukiwanieKW?komunikaty=true&kontakt=true&okienkoSerwisowe=false", "", 1);
                }
            }
        }
예제 #9
0
 public decimal PixelGetColor(int x, int y, int?hwnd)
 {
     return(AutoItX.PixelGetColor(x, y));
 }