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); } }
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); }
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(); }
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()); } }
private void btnCheckImage_Click(object sender, EventArgs e) { var screen = CaptureHelper.CaptureScreen(); screen.Save("mainScreen.PNG"); var subBitmap = ImageScanOpenCV.GetImage("template.PNG"); var resBitMap = ImageScanOpenCV.Find((Bitmap)screen, subBitmap); if (resBitMap != null) { resBitMap.Save("res.PNG"); } }
/* * 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: 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 clickToImage(string imagePath, int xRange = 0, int yRange = -20, int numClick = 1, int wait = Constant.TimeShort) { 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.click(mWindowName, numClick, pBtn.Value.X + xRange, pBtn.Value.Y + yRange); Thread.Sleep(wait); 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); }
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); } }
public static Bitmap Find(string main, string sub, double percent = 0.9) { ImageScanOpenCV.GetImage(main); ImageScanOpenCV.GetImage(sub); return(ImageScanOpenCV.Find(main, sub, percent)); }
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"; } } } } } }
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); } }