public List <Bitmap> collectMapMiniPath() { mAuto.writeStatus("Thu thập mảnh bản đồ"); List <Bitmap> mapPaths = new List <Bitmap>(); // Mở bảng đồ mini //mAuto.clickToImage(Constant.ImagePathMiniMap); mAuto.sendKey("~"); var full_screen = CaptureHelper.CaptureWindow(mHWnd); // Tắt các bảng nổi mAuto.closeAllDialog(); Bitmap iBtn = ImageScanOpenCV.GetImage(Constant.ImagePathGlobalMiniMap); var pBtn = ImageScanOpenCV.FindOutPoint((Bitmap)full_screen, iBtn); if (pBtn != null) { int x_start_point = pBtn.Value.X + 0; int y_start_point = pBtn.Value.Y + 60; for (int y = 0; y < 5; y++) { for (int x = 0; x < 4; x++) { mapPaths.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle( x_start_point + (x * 100), y_start_point + (y * 56), 100, 56))); } } } return(mapPaths); }
private void buttonClickRightOnImage_Click(object sender, EventArgs e) { AutoIT au3 = new AutoIT(); IntPtr hWnd = IntPtr.Zero; // Find define handle of project hWnd = AutoControl.FindWindowHandle(null, textBoxTestID.Text); if (hWnd == IntPtr.Zero) { MessageBox.Show("Không tìm thấy nhân vật này đang được chạy."); return; } var imagePath = textBoxTestPath.Text; var screen = CaptureHelper.CaptureWindow(hWnd); screen.Save("test.png"); Bitmap iBtn = ImageScanOpenCV.GetImage(imagePath); var pBtn = ImageScanOpenCV.FindOutPoint((Bitmap)screen, iBtn); if (pBtn != null) { au3.clickRight(textBoxTestID.Text, 1, pBtn.Value.X + int.Parse(numericUpDownTestX.Value.ToString()), pBtn.Value.Y + int.Parse(numericUpDownTestY.Value.ToString())); Thread.Sleep(Constant.TimeShort); } }
/* * Function: isMoving * Description: Kiểm tra nhân vật đang di chuyển * Author: Tử La Lan - Facebook: https://www.facebook.com/Tu.La.Lan.NT * Created At: 2019-11-10 - Updated At: 2019-11-10 */ public bool isMoving() { if (mCharacter.Running == 0) { return(false); } int i = 0; bool moving = true; while (moving && i < Constant.MaxLoop && mCharacter.Running != 0) { // Chụp màn hình var screen_first = CaptureHelper.CaptureWindow(mHWnd); screen_first = CaptureHelper.CropImage((Bitmap)screen_first, new Rectangle(180, 0, 250, 250)); // Chờ 3s Thread.Sleep(1500); var screen_second = CaptureHelper.CaptureWindow(mHWnd); // Kiểm tra hình trước có trong hình sau hay không var p = ImageScanOpenCV.FindOutPoint((Bitmap)screen_second, (Bitmap)screen_first); if (p != null) { moving = false; return(moving); } } return(moving); }
public void LoginTranS() { string strCmdText; string userName = Environment.UserName; strCmdText = @"/C C:\Users\" + userName + @"\AppData\Roaming\TranS\TranS.exe"; Process p = new Process(); p.StartInfo.FileName = "CMD.exe"; p.StartInfo.Arguments = strCmdText; p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden; p.Start(); Thread.Sleep(4000); //click Student var screen = CaptureHelper.CaptureScreen(); screen.Save("mainScreen.png"); var subBitmap = ImageScanOpenCV.GetImage("btnHocVien.bmp"); var resBitmap = ImageScanOpenCV.FindOutPoint((Bitmap)screen, subBitmap); if (resBitmap != null) { string x = (resBitmap.ToString()).Remove(0, 3).Remove(3, 7); string y = (resBitmap.ToString()).Remove(0, 9).Remove(3, 1); AutoControl.MouseClick(int.Parse(x) + 20, int.Parse(y) + 20, EMouseKey.LEFT); } Thread.Sleep(500); //Send Enter ID try { AutoControl.SendStringFocus(txtBoxID.Text); } catch (Exception) { MessageBox.Show("Bạn chưa nhập ID"); } //Click Join now var screenID = CaptureHelper.CaptureScreen(); screenID.Save("mainScreen.png"); var subBitmapID = ImageScanOpenCV.GetImage("btnVaoPhong.bmp"); var resBitmapID = ImageScanOpenCV.FindOutPoint((Bitmap)screenID, subBitmapID); if (resBitmapID != null) { string x1 = (resBitmapID.ToString()).Remove(0, 3).Remove(3, 7); string y1 = (resBitmapID.ToString()).Remove(0, 9).Remove(3, 1); AutoControl.MouseClick(int.Parse(x1) + 20, int.Parse(y1) + 20, EMouseKey.LEFT); } Application.Exit(); }
//IMG OpenCV public void Tap_Img(string deviceID, Bitmap ImgFind) { Bitmap bm = (Bitmap)ImgFind.Clone(); var screen = ADBHelper.ScreenShoot(deviceID); var Point = ImageScanOpenCV.FindOutPoint(screen, bm); if (Point != null) { ADBHelper.Tap(deviceID, Point.Value.X, Point.Value.Y); return; } //MessageBox.Show("Tìm không ra"); }
private static System.Drawing.Point?GetPoint(string id, Bitmap img) { var screen = ADBHelper.ScreenShoot(id, false); Bitmap tmp_img = (Bitmap)img.Clone(); Bitmap tmp_scr = (Bitmap)screen.Clone(); var point = ImageScanOpenCV.FindOutPoint(tmp_scr, tmp_img); return(point); //var aa = ImageScanOpenCV.Find(screen, D_FLAG); //if (aa != null) //{ // aa.Save("aaa.png"); //} }
private void btnExportPoint_Click(object sender, EventArgs e) { var screen = CaptureHelper.CaptureScreen(); screen.Save("mainScreen.PNG"); var subBitmap = ImageScanOpenCV.GetImage("template.PNG"); var resBitMap = ImageScanOpenCV.FindOutPoint((Bitmap)screen, subBitmap); if (resBitMap != null) { MessageBox.Show(resBitMap.ToString()); } }
/// <summary> /// Tìm tọa độ của ảnh /// </summary> /// <param name="_main">Ảnh gốc</param> /// <param name="_sub">Ảnh cần tìm</param> /// <param name="p">xuất ra tọa độ khi tìm thấy, nếu không thấy thì trả về 0,0</param> /// <returns>Trả về bool, out point</returns> public static bool FindImageOutPoint(Bitmap _main, Bitmap _sub, out Point p) { p = new Point(); try { p = (Point)ImageScanOpenCV.FindOutPoint(_main, _sub); return(true); } catch (Exception ex) { p = Point.Empty; MessageBox.Show(ex.Message); return(false); } }
//IMG OpenCV public static bool Tap_Img(string param, string nameOrId, Bitmap imgFind) { var bm = (Bitmap)imgFind.Clone(); var screen = ScreenShoot(param, nameOrId); var point = ImageScanOpenCV.FindOutPoint(screen, bm); if (point == null) { return(false); } Tap(param, nameOrId, point.Value.X, point.Value.Y); return(true); //MessageBox.Show("Tìm không ra"); }
private Point CheckImageUntilFound(Bitmap _main, Bitmap _sub, int _ofsetX = 7, int _ofsetY = 7) { try { Point p = (Point)ImageScanOpenCV.FindOutPoint(_main, _sub); p.X += _ofsetX; p.Y += _ofsetY; return(p); } catch (Exception) { Thread.Sleep(300); return(CheckImageUntilFound(RetakePicMain(), _sub, _ofsetX, _ofsetY)); } }
public static Point?FindImage(string param, string nameOrId, string imagePath, int count = 5) { var files = new DirectoryInfo(imagePath).GetFiles(); do { Bitmap mainBitmap = null; var num = 3; do { try { mainBitmap = ScreenShoot(param, nameOrId); break; } catch (Exception) { --num; Delay(1000.0); } } while (num > 0); if (mainBitmap == null) { return(new Point?()); } var image = new Point?(); foreach (var fileSystemInfo in files) { var subBitmap = (Bitmap)Image.FromFile(fileSystemInfo.FullName); image = ImageScanOpenCV.FindOutPoint(mainBitmap, subBitmap); if (image.HasValue) { break; } } if (image.HasValue) { return(image); } Delay(2000.0); --count; } while (count > 0); return(new Point?()); }
public static Point?findGameImage(Bitmap image, string imageName = "", bool cropMode = false, int x = 0, int y = 0, int width = 0, int height = 0, bool capture = false) { var scene = CaptureHelper.CaptureWindow(Global.mainHandle); if (cropMode == true) { scene = CaptureHelper.CropImage(scene, new System.Drawing.Rectangle(x, y, width, height)); } var result = ImageScanOpenCV.FindOutPoint((Bitmap)scene, image); if (capture == true && result != null) { var imageSave = ImageScanOpenCV.Find((Bitmap)scene, image); imageSave.Save("./img/debug/imageCapture" + result.Value.X + "_" + result.Value.Y + ".png"); } return(result); }
/* * Function: Find Image * Description: Find position of image on window * Author: Tử La Lan - Facebook: https://www.facebook.com/Tu.La.Lan.NT * Created At: 2019-11-09 - Updated At: 2019-11-09 */ public bool findImage(string imagePath) { if (mCharacter.Running == 0) { return(false); } var screen = CaptureHelper.CaptureWindow(mHWnd); Bitmap iBtn = ImageScanOpenCV.GetImage(imagePath); var pBtn = ImageScanOpenCV.FindOutPoint((Bitmap)screen, iBtn); if (pBtn != null) { return(true); } return(false); }
/* * Function: Click to Image * Description: Find position of image on window and click it * Author: Tử La Lan - Facebook: https://www.facebook.com/Tu.La.Lan.NT * Created At: 2019-11-09 - Updated At: 2019-11-09 */ public bool clickImage(Bitmap image, int xRange = 0, int yRange = -20, int numClick = 1, int wait = Constant.TimeShort) { if (mCharacter.Running == 0) { return(false); } var screen = CaptureHelper.CaptureWindow(mHWnd); var pBtn = ImageScanOpenCV.FindOutPoint((Bitmap)screen, image); if (pBtn != null) { au3.click(mWindowName, numClick, pBtn.Value.X + xRange, pBtn.Value.Y + yRange); Thread.Sleep(wait); return(true); } return(false); }
/* * Function: Move mouse * Description: Find position of image on window and move mouse to it * Author: Tử La Lan - Facebook: https://www.facebook.com/Tu.La.Lan.NT * Created At: 2019-11-09 - Updated At: 2019-11-09 */ public bool moveToImage(string imagePath, int xRange = 0, int yRange = -20) { if (mCharacter.Running == 0) { return(false); } var screen = CaptureHelper.CaptureWindow(mHWnd); Bitmap iBtn = ImageScanOpenCV.GetImage(imagePath); var pBtn = ImageScanOpenCV.FindOutPoint((Bitmap)screen, iBtn); if (pBtn != null) { au3.move(mWindowName, pBtn.Value.X + xRange, pBtn.Value.Y + yRange); return(true); } return(false); }
/* * Function: Click to Image * Description: Find position of image on window and click it * Author: Tử La Lan - Facebook: https://www.facebook.com/Tu.La.Lan.NT * Created At: 2019-11-09 - Updated At: 2019-11-09 */ public bool clickRightToImage(string imagePath, int xRange = 0, int yRange = -20) { if (mCharacter.Running == 0) { return(false); } var screen = CaptureHelper.CaptureWindow(mHWnd); Bitmap iBtn = ImageScanOpenCV.GetImage(imagePath); var pBtn = ImageScanOpenCV.FindOutPoint((Bitmap)screen, iBtn); if (pBtn != null) { au3.clickRight(mWindowName, 1, pBtn.Value.X + xRange, pBtn.Value.Y + yRange); Thread.Sleep(Constant.TimeShort); return(true); } return(false); }
private void textBox1_TextChanged(object sender, EventArgs e) { var screen = CaptureHelper.CaptureScreen(); screen.Save("mainScreen.png"); var subBit = ImageScanOpenCV.GetImage("commentSection.PNG"); var sendpost = ImageScanOpenCV.GetImage("SendComment.PNG"); var ComsecLocation = ImageScanOpenCV.FindOutPoint((Bitmap)screen, subBit); AutoControl.MouseClick((Point)ComsecLocation); //autoItX3.Send("Hello"); Thread.Sleep(1000); screen = CaptureHelper.CaptureScreen(); var sendLocation = ImageScanOpenCV.FindOutPoint((Bitmap)screen, sendpost); Point sendlo = (Point)sendLocation; sendlo.X += 3; sendlo.Y += 7; AutoControl.MouseClick((Point)sendlo); }
public static Point?findExpMonster() { int i = 0; Point?expMonsterImage = null; Image scene = null;; GameHelper.Log("Finding exp monster...."); while (i < 5) { scene = CaptureHelper.CaptureWindow(Global.mainHandle); expMonsterImage = ImageScanOpenCV.FindOutPoint((Bitmap)scene, expImage); //expMonsterImage = GameImage.findGameImage(expImage); if (expMonsterImage != null) { GameHelper.Log("Found Exp Monster(Middle)!!!"); break; } expMonsterImage = ImageScanOpenCV.FindOutPoint((Bitmap)scene, nearExpImage); if (expMonsterImage != null) { GameHelper.Log("Found Exp Monster(Near)!!!"); break; } expMonsterImage = ImageScanOpenCV.FindOutPoint((Bitmap)scene, farExpImage); if (expMonsterImage != null) { GameHelper.Log("Found Exp Monster(Far)!!!"); break; } i++; GameHelper.Delay(200); } if (expMonsterImage == null) { GameHelper.Log("Found Exp Monster Fail!!!"); } return(expMonsterImage); }
private void button18_Click(object sender, EventArgs e) { var handle = AutoControl.FindWindowHandle("LDMultiPlayerMainFrame" == "" ? null : "LDMultiPlayerMainFrame", "" == "" ? null : ""); #region // khởi tạo và restore file backup #endregion #region // ấn nút bắt đầu var sub = (Bitmap)Bitmap.FromFile("data//data.png"); var main = (Bitmap)CaptureHelper.CaptureWindow(handle); var point = ImageScanOpenCV.FindOutPoint(main, sub); if (point != null) { // AutoControl.SendClickOnPosition(handle, point.Value.X, point.Value.Y); var pointToClick = AutoControl.GetGlobalPoint(handle, point.Value.X + 7, point.Value.Y + 5); EMouseKey mouseKey = EMouseKey.DOUBLE_LEFT; AutoControl.BringToFront(handle); AutoControl.MouseClick(pointToClick, mouseKey); } #endregion }
public static List <int> findMultiGameImage(Bitmap[] images, bool cropMode = false, int x = 0, int y = 0, int width = 0, int height = 0, bool capture = false) { List <int> result = new List <int>(); var scene = CaptureHelper.CaptureWindow(Global.mainHandle); if (cropMode == true) { scene = CaptureHelper.CropImage(scene, new System.Drawing.Rectangle(x, y, width, height)); } var index = 0; Point?resultScanImage; foreach (Bitmap image in images) { resultScanImage = null; resultScanImage = ImageScanOpenCV.FindOutPoint((Bitmap)scene, image); if (resultScanImage != null) { result.Add(index); } index++; } return(result); }
private static string CheckImage(string id, Bitmap img) { //Task l = new Task(() => //{ //while (true) //{ var screen = ADBHelper.ScreenShoot(id); var point = ImageScanOpenCV.FindOutPoint(screen, img); var aa = ImageScanOpenCV.Find(screen, img); aa.Save("aaa.png"); if (point != null) { //Dispatcher.BeginInvoke(new ThreadStart(() => rtb1.AppendText("Home!!!"))); //break; return("find!"); } return(""); //} //}); //l.Start(); }
public void chayQ() { // Xóa ghi chép chat mAuto.clickImageByGroup("global", "chatclear", false, true); List <Bitmap> pos = new List <Bitmap>(); int loop = 0; while (!checkDaDanhNhiemVu()) { loop++; if (loop >= 5) { Helper.showAlert(mCharacter.ID, "Nhiệm vụ phi tặc này có vấn đề"); } // Mở menu phải mAuto.moMenuPhai(); // Nếu vip dưới 6 thì mới chạy cái này if (mCharacter.VipLevel < 6 && mCharacter.VipLevel > 0) { // Bay mAuto.bay(); } // Tìm tới tọa độ và gọi quái while (!checkDaGoiQuai()) { // Mở túi nhiệm vụ mAuto.closeAllDialog(); mAuto.clickToImage(Constant.ImagePathGlobalTui); mAuto.clickImageByGroup("global", "tui_tab_nhiemvu", true, true); // Nhấp đôi vào bản đồ nhiệm vụ mAuto.clickToImage(Constant.ImagePathTriAnBanDoNhiemVu, 0, -20, 2); // Chờ 2s để load map Thread.Sleep(2000); mAuto.closeAllDialog(); // Nếu vip dưới 6 thì mới chạy cái này if (mCharacter.VipLevel < 6 && mCharacter.VipLevel > 0) { do { // Nhấp vào tọa độ mAuto.writeStatus("Nhấp vào tọa độ ..."); mAuto.clickToImage(Constant.ImagePathTriAnToaDo, 10, -25); mAuto.clickToImage(Constant.ImagePathTriAnToaDo2, 10, -25); } while (mAuto.isMoving()); } var full_screen = CaptureHelper.CaptureWindow(mHWnd); // Lưu tracking Bitmap bChuyenKenh = ImageScanOpenCV.GetImage(Constant.ImagePathGlobalChuyenKenh); var pBChuyenKenh = ImageScanOpenCV.FindOutPoint((Bitmap)full_screen, bChuyenKenh); if (pBChuyenKenh != null) { Bitmap tracking = CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(pBChuyenKenh.Value.X, pBChuyenKenh.Value.Y, 180, 20)); tracking.Save("tracking/trian_" + mCharacter.ID + ".png", ImageFormat.Png); } } mAuto.closeAllDialog(); // Nếu vip dưới 6 thì mới chạy cái này if (mCharacter.VipLevel < 6 && mCharacter.VipLevel > 0) { // Xuống mAuto.bayXuong(); } // Đóng menu phải mAuto.dongMenuPhai(); // Tìm phản quân hoặc phi tặc int x = 0; while (!mAuto.findImage(Constant.ImagePathDoiThoai + "trian" + ".png") && x < lPTPQ.Count) { if (mAuto.findImage(lPTPQ[x].imagePath)) { mAuto.clickToImage(lPTPQ[x].imagePath, lPTPQ[x].x, lPTPQ[x].y); } x++; } // Đánh mAuto.clickToImage(Constant.ImagePathDoiThoai + "trian" + ".png"); // Nghỉ 5s nếu nhân vật đang trong trận đấu while (mAuto.dangTrongTranDau()) { Thread.Sleep(5000); } if (checkDaDanhNhiemVu()) { break; } // Lưu 4 vị trí xung quanh vị trí hiện tại if (pos.Count <= 0) { // Mở bảng đồ mini mAuto.clickToImage(Constant.ImagePathMiniMap); Thread.Sleep(1000); var full_screen = CaptureHelper.CaptureWindow(mHWnd); // Tắt các bảng nổi mAuto.closeAllDialog(); // Lưu 4 vị trí Bitmap iBtn = ImageScanOpenCV.GetImage(Constant.ImagePathInMapChar); var pBtn = ImageScanOpenCV.FindOutPoint((Bitmap)full_screen, iBtn); if (pBtn != null) { pos.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(pBtn.Value.X + (-15), pBtn.Value.Y + (-30), 30, 30))); pos.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(pBtn.Value.X + (11), pBtn.Value.Y + (0), 30, 30))); pos.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(pBtn.Value.X + (-15), pBtn.Value.Y + (20), 30, 30))); pos.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(pBtn.Value.X + (-32), pBtn.Value.Y + (0), 30, 30))); } } // Di chuyển đến vị trí quanh ptpq int i = 0; while (!mAuto.findImage(Constant.ImagePathDoiThoai + "trian" + ".png") && i < pos.Count) { // Mở menu phải mAuto.moMenuPhai(); // Bay lên mAuto.bay(); // Mở bảng đồ mini mAuto.clickToImage(Constant.ImagePathMiniMap); // Nhấp vào vị trí xung quanh ptpq mAuto.clickImage(pos[i], 15, -15); // Tắt các bảng nổi mAuto.closeAllDialog(); // Đóng menu phải mAuto.dongMenuPhai(); // Tìm phản quân hoặc phi tặc int y = 0; while (!mAuto.findImage(Constant.ImagePathDoiThoai + "trian" + ".png") && y < lPTPQ.Count) { if (mAuto.findImage(lPTPQ[y].imagePath)) { // Mở menu phải mAuto.moMenuPhai(); // Bay xuống if (mAuto.findImage(Constant.ImagePathGlobalXuong)) { mAuto.bayXuong(); Thread.Sleep(3000); } // Đóng menu phải mAuto.dongMenuPhai(); mAuto.clickToImage(lPTPQ[y].imagePath, lPTPQ[y].x, lPTPQ[y].y); Thread.Sleep(1000); } y++; } i++; } // Đánh mAuto.clickToImage(Constant.ImagePathDoiThoai + "trian" + ".png"); // Nghỉ 5s nếu nhân vật đang trong trận đấu while (mAuto.dangTrongTranDau()) { Thread.Sleep(5000); } } if (!checkHoanThanhNhiemVu()) { // Nhấn vào nhận Q Trị An mAuto.clickImageByGroup("tri_an", "nhiemvutrianchuanhan", false, true); mAuto.clickImageByGroup("tri_an", "nhiemvuphanquandaxong", false, true); mAuto.clickImageByGroup("tri_an", "nhiemvuphitacdaxong", false, true); // Trả nhiệm vụ mAuto.traNhiemVu(); } }
private void buttonTestCapturePosition_Click(object sender, EventArgs e) { IntPtr hWnd = IntPtr.Zero; // Find define handle of project hWnd = AutoControl.FindWindowHandle(null, textBoxTestID.Text); if (hWnd == IntPtr.Zero) { MessageBox.Show("Không tìm thấy nhân vật này đang được chạy."); } var imagePath = textBoxTestPath.Text; // Chụp màn hình var full_screen = CaptureHelper.CaptureWindow(hWnd); Bitmap iBtn = ImageScanOpenCV.GetImage(imagePath); var pBtn = ImageScanOpenCV.FindOutPoint((Bitmap)full_screen, iBtn); List <Bitmap> pos = new List <Bitmap>(); //if (pBtn != null) //{ // pos.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(pBtn.Value.X + (-15), pBtn.Value.Y + (-30), 30, 30))); // pos.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(pBtn.Value.X + (11), pBtn.Value.Y + (0), 30, 30))); // pos.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(pBtn.Value.X + (-15), pBtn.Value.Y + (20), 30, 30))); // pos.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle(pBtn.Value.X + (-32), pBtn.Value.Y + (0), 30, 30))); //} //pictureBoxTest1.Image = pos[0]; //pictureBoxTest2.Image = pos[1]; //pictureBoxTest3.Image = pos[2]; //pictureBoxTest4.Image = pos[3]; //MessageBox.Show(pos.Count.ToString()); // top: x -15, y -30 // left: x -30, y 0 // down: x -15, y 20 // right: x 11, y 0 // Click: x 15, y -15 if (pBtn != null) { int x_start_point = pBtn.Value.X + 0; int y_start_point = pBtn.Value.Y + 60; for (int y = 0; y < 4; y++) { for (int x = 0; x < 4; x++) { pos.Add(CaptureHelper.CropImage((Bitmap)full_screen, new Rectangle( x_start_point + (x * 100), y_start_point + (y * 70), 100, 70))); } } } MessageBox.Show(pos.Count.ToString()); // screen: h 60, w 100 // h: 280, w: 400 // h: 40 * 7, w: 80 * 5 for (int z = 0; z < pos.Count; z++) { var picture = new PictureBox { Name = "pictureBox", Size = new Size(100, 70), Location = new Point(300 + z * 100, 100 + z * 70), Image = pos[z], }; this.Controls.Add(picture); } }
private void button4_Click(object sender, EventArgs e) { AutoItX3 autoItX3 = new AutoItX3(); Point LOLlocation = new Point(805, 175); IntPtr hWnd = IntPtr.Zero; hWnd = AutoControl.FindWindowHandle(null, "Garena - Game Center"); var child = AutoControl.FindHandle(hWnd, "Chrome_RenderWidgetHostHWND", null); var point = AutoControl.GetGlobalPoint(child, LOLlocation); int num = Convert.ToInt32(textBox1.Text); AutoControl.BringToFront(hWnd); AutoControl.MouseClick(point); Thread.Sleep(3000); autoItX3.MouseWheel("down", 2); Thread.Sleep(3000); //var postPoint = AutoControl.GetGlobalPoint(child, 147, 113);// 147 113 //AutoControl.MouseClick(postPoint); //Thread.Sleep(2000); int[] arrEndPoint = { 202, 315, 341, 358, 432, 471, 500, 570, 630 }; // for y for (int i = 0; i < 2; i++) { Point startpoint = new Point(951, 12); Point endPoint = new Point(952, 202); var fpoint = AutoControl.GetGlobalPoint(child, 150, 149); for (int j = 0; j < 3; j++) { AutoControl.MouseClick(fpoint); Thread.Sleep(3000); var spoint = AutoControl.GetGlobalPoint(child, startpoint); autoItX3.MouseMove(spoint.X, spoint.Y); autoItX3.MouseDown("LEFT"); Bitmap screen; for (int p = 0; p < arrEndPoint.Length; p++) { endPoint.Y = arrEndPoint[p]; var endP = AutoControl.GetGlobalPoint(child, endPoint); autoItX3.MouseMove(endP.X, endP.Y); screen = (Bitmap)CaptureHelper.CaptureScreen(); var subBit = ImageScanOpenCV.GetImage("commentSection.PNG"); var sendpost = ImageScanOpenCV.GetImage("SendComment.PNG"); var ComsecLocation = ImageScanOpenCV.FindOutPoint((Bitmap)screen, subBit); if (ComsecLocation != null) { autoItX3.MouseUp("LEFT"); AutoControl.MouseClick((Point)ComsecLocation); autoItX3.Send("Hello"); Thread.Sleep(1000); screen = (Bitmap)CaptureHelper.CaptureScreen(); var sendLocation = ImageScanOpenCV.FindOutPoint((Bitmap)screen, sendpost); Point sendlo = (Point)sendLocation; // can not find the right so find the near and add a few unit to right point sendlo.X += 3; sendlo.Y += 7; AutoControl.MouseClick((Point)sendlo); screen.Dispose(); break; } } var exitpost = AutoControl.GetGlobalPoint(child, 62, 6); exitpost.Y -= 37; AutoControl.MouseClick(exitpost); Thread.Sleep(2000); fpoint.X += 325; } Thread.Sleep(1000); Point zone = AutoControl.GetGlobalPoint(child, 20, 20); autoItX3.MouseMove(zone.X, zone.Y); autoItX3.MouseWheel("down", 4); Thread.Sleep(3000); } }
void runChrome() { if (isRunning) { for (int i = 1; i <= 9999; i++) { if (isRunning) { for (int rows = 0; rows < dataGridView1.Rows.Count; rows++) { if (isRunning) { IPHostEntry ip; while (isRunning) { var check = false; dataGridView1.Rows[rows].Cells[1].Value = "Change IP"; runCMD("rasdial viettel"); string myip = ""; ip = Dns.GetHostEntry(Dns.GetHostName()); foreach (IPAddress ipa in ip.AddressList) { if (ipa.AddressFamily == AddressFamily.InterNetwork) { myip = ipa.ToString(); } } if (File.Exists("ListIP.txt")) { dataGridView1.Rows[rows].Cells[1].Value = "Check duplicate IP"; string[] listIP = File.ReadAllLines("ListIP.txt"); foreach (var item in listIP) { var temp = item.Split(':'); if (myip == temp[0].Trim()) { check = true; } } } if (!check) { File.AppendAllText("ListIP.txt", myip + " : " + dataGridView1.Rows[rows].Cells[0].Value + "\n"); dataGridView1.Rows[rows].Cells[1].Value = "Open Chrome"; Process.Start(dataGridView1.Rows[rows].Cells[0].Value.ToString()); break; } else { runCMD("rasdial /disconnect"); } } if (isRunning) { Thread.Sleep(2500); var cap = CaptureHelper.CaptureScreen(); cap.Save("res.png"); var sub = ImageScanOpenCV.GetImage("icon.PNG"); var count = 0; while (count <= 30) { Point?res = ImageScanOpenCV.FindOutPoint((Bitmap)cap, sub); if (res != null) { AutoControl.MouseClick(res.Value.X, res.Value.Y, EMouseKey.LEFT); Thread.Sleep(time * 1000); break; } count++; } } runCMD("taskkill /f /im chrome.exe"); dataGridView1.Rows[rows].Cells[1].Value = "Disconnect Dcom"; runCMD("rasdial /disconnect"); if (isRunning) { dataGridView1.Rows[rows].Cells[1].Value = "Done"; } else { dataGridView1.Rows[rows].Cells[1].Value = "Stop"; } } else { dataGridView1.Rows[rows].Cells[1].Value = "Stop"; } } } } } }