YILDIRAN adlı üyeden alıntı

Öncelikle hocam ilginiz ve cevabınız için çok teşekkür ederim.

Yani demek istediğiniz şu şekilde sanırım ;

private void ClickMouse(int x, int y)
{

SetCursorPos(x,y);
mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, -2, -2);
mouse_event(MOUSEEVENTF_LEFTUP, x, y, -2, -2);





}


Ek Olarak: Yukarıda'ki şekilde denedim tabi daha farklı rakamlarla ancak durum aynı, bir oynama yok.



Kodda bulunan mouse_event(MOUSEEVENTF_LEFTDOWN, x, y, 0,0); kısmı resimde de görüldüğü gibi farklı işler için ayrılmış bölümlerdir. Siz bu programda bu kısımlara ihtiyaç duymadığınız için buralara 0 geçmektesiniz, hal böyle olunca da bunu koordinat gibi algılamışsınız ki ilk başta bende öyle zannetmiştim. Offsetleri doğrudan x ve y'ye uygulamalısınız. Fonksiyonu aynı kodu tekrar tekrar kullanmayacak şekilde düzenleyecek olursak:


private void ClickMouse(int x, int y)
{
x=x-2; y=y-2;
SetCursorPos(x,y);
mouse_event(MOUSEEVENTF_LEFTDOWN, x,y);
mouse_event(MOUSEEVENTF_LEFTUP, x, y);
}


Bu şekilde yaptığımızda fonksiyona gelen değer direk olarak scope'a girmeden işlenir. Yani fonksiyonu çağırırken ClickMouse(10, 10); dediğimizde fonksiyon bunu 8, 8 olarak işleyecektir.