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(); } } } }
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); } } }
/// <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)); }
//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; } } } } }
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; } }
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)); }
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); } } }
public decimal PixelGetColor(int x, int y, int?hwnd) { return(AutoItX.PixelGetColor(x, y)); }