Cursor, evet renge tıklıyor, ancak cok ust kısma tıklıyor ve bu yüzden sıkıntı yaşıyorum aşşagıda tıkladıgı yerin linkini veriyorum ;
http://i.hizliresim.com/8gQvEk.png
Bu mousenin biraz daha aşşagıya tıklamasını saglayabilir miyim? nereyi düzeltmem gerekiyor? Yardımlarınızı bekliyorum teşekkürer.
Kodlar ;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Runtime.InteropServices;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace LegendryLooter
{
    public class ClickManager
    {
        #region Fields - Properties
        
        [DllImport("user32.dll")]
        private static extern bool SetCursorPos(int x, int y);
        [DllImport("user32.dll")]
        public static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);
        public const int MOUSEEVENTF_LEFTDOWN = 0x02;
        public const int MOUSEEVENTF_LEFTUP = 0x04;
        public Rectangle ScanBounds { get; set; }
        public Point MatchArea { get; set; }
        public Point[] ColorMatch { get; set; }
        public int Interval { get; set; }
        #endregion
        public void Check()
        {
            Bitmap map = GetScreenshot();
            for (int x = ScanBounds.Left; x < ScanBounds.Width + ScanBounds.Left; x++)
            {
                for (int y = ScanBounds.Top; y < ScanBounds.Height + ScanBounds.Top; y++)
                {
                    if (x > map.Width || y > map.Height)
                        continue;
                    bool skip = false;
                    for (int px = 0; px < MatchArea.X; px++)
                    {
                        for (int py = 0; py < MatchArea.Y; py++)
                        {
                           
                            Color color = map.GetPixel(x + px, y + py);
                            if (!CheckColor(color))
                            {
                                skip = true;
                                break;
                            }
                        }
                        if (skip)
                            break;
                    }
                    if (skip)
                        continue;
                    int clickX = x + MatchArea.X/2;
                    int clickY = y + MatchArea.Y/2;
			   
                    ClickMouse(clickX, clickY);
                    return;
                }
            }
        }
        private bool CheckColor(Color color)
        {
            return color.R >= ColorMatch[0].X && color.R <= ColorMatch[0].Y &&
                   color.G >= ColorMatch[1].X && color.G <= ColorMatch[1].Y &&
                   color.B >= ColorMatch[2].X && color.B <= ColorMatch[2].Y;
        }
        private Bitmap GetScreenshot()
        {
            Rectangle s_rect = Screen.PrimaryScreen.Bounds;
            Bitmap bmp = new Bitmap(s_rect.Width, s_rect.Height);
            using (Graphics gScreen = Graphics.FromImage(bmp))
                gScreen.CopyFromScreen(s_rect.Location, Point.Empty, s_rect.Size);
            return bmp;
        }
        private void ClickMouse(int x, int y)
        {
           
                SetCursorPos(x,y);
                mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0, 0);
                mouse_event(MOUSEEVENTF_LEFTUP, x, y, 0, 0);
      
        
        }
    }
}
 
  

 
                    
 
                     
                                                    