// [Menu] event. Click on 'ScreenshotToolStripMenuItem' private void ScreenshotToolStripMenuItem_Click(object sender, EventArgs e) { SaveFileDialog saveFileDialog1 = new SaveFileDialog(); saveFileDialog1.InitialDirectory = App.CurrentPath; saveFileDialog1.RestoreDirectory = true; saveFileDialog1.FileName = "Screenshot_" + DateTime.Now.ToString("dd-MM-yy_HH-mm-ss"); saveFileDialog1.Title = "Capturer une image"; saveFileDialog1.DefaultExt = "bmp"; saveFileDialog1.Filter = "Image BMP (*.bmp)|*.bmp"; if (saveFileDialog1.ShowDialog() == DialogResult.OK) { // capture de l'image et sauvegarde dans le fichier spécifié Bitmap image = EmbedWindow.GetWindowImage(GameProcess.MainWindowHandle); image.Save(saveFileDialog1.FileName); MessageBox.Show("Image Capturée !", App.Name, MessageBoxButtons.OK, MessageBoxIcon.Information); } }
// GetPod() : récupère le pod en pourcentage et fait avancé la progressbar public void GetPod() { Log.Title(Log.Level.Debug, "GetPod"); try { // Click sur l'inventaire pour l'ouvrir FakeClick.ClickOnPoint(GameHandle, Settings.InventoryPosition); Wait(); // Nouvelle Image de la Map Bitmap MapImage = EmbedWindow.GetWindowImage(GameHandle); // MapBitmap LockBitmap MapBitmap = new LockBitmap(MapImage); MapBitmap.LockBits(); Color?PodBarColor = null; int PodValue = 0; // Get PodValue for (int x = Pod.PodBarX; x < Pod.PodBarEndX; x++) { _pauseEvent.WaitOne(); if (_shutdownEvent.WaitOne(0)) { break; } if (PodBarColor == null) // on récupère la couleur dominente { PodBarColor = MapBitmap.GetPixel(x, Pod.PodBarY); } // si la couleur est toujours dominente on continue if (MapBitmap.GetPixel(x, Pod.PodBarY) == PodBarColor) { PodValue++; } else // si nn on s'arrete { break; } } MapBitmap.UnlockBits(); if (!_shutdownEvent.WaitOne(0)) // si le bot n'a pas été arrêté { // Set Pod PercentValue (%) Pod.PercentValue = (int)((float)((float)PodValue / Pod.PodBarWidth) * 100); Log.Debug("Pod PodValue: " + PodValue + " PercentValue: " + Pod.PercentValue + "%"); // Set Progressbar FillProcent PodProgressBar.BarFillProcent = Pod.PercentValue; // ReClick sur l'inventaire pour le fermer FakeClick.ClickOnPoint(GameHandle, Settings.InventoryPosition); Wait(); } } catch (Exception ex) { Log.Debug("Execption occured : " + ex.Message); } finally { Log.Divider(Log.Level.Debug); } }