Autoit mouse koordinatlarını tespit etmek

Autoit Script Editor kullanarak Mouse koordinatlarını pratik bir şekilde öğrenmek ve tespit ettiğimiz bu koordinatları Autoit Script Editor konsoluna yazdıra bileceğimiz küçük bir program yazmak istiyoruz. mouse x ve ye koordinatlarını hangi komutla tespit ediyoruz. önce hemen yardım dosyasından hotkeyset() komutunu Autoit Script Editor ne kopyalıyoruz. hotkeyset() komutu Örneğin F fonksiyon tuşlarını kullanarak ya da kontrol artı tuş kombinasyonu kullanarak belli fonksiyonları çalıştırmak istiyorsak bu komutu kullanacağız. 
 Örneğin F1 tuşuna bastığımızda hesap makinesi programını F2 bastığımızda Paint programını çalıştırmak istiyorsak yine bu komuttan istifade edeceğiz. 
 Bunun yanı sıra kontrol shift ve alt tuşlarını ve klavyeden diğer tuşları kullanıp istediğimiz fonksiyonu çalıştırabiliriz.

#include <MsgBoxConstants.au3>

; Press Esc to terminate script, Pause/Break to "pause"

Global $g_bPaused = False

HotKeySet("{PAUSE}", "TogglePause")
HotKeySet("{ESC}", "tespit ")
HotKeySet("+!d", "ShowMessage") ; Shift-Alt-d

While 1
    Sleep(100)
WEnd

Func TogglePause()
    $g_bPaused = Not $g_bPaused
    While $g_bPaused
        Sleep(100)
        ToolTip('Script is "Paused"', 0, 0)
    WEnd
    ToolTip("")
EndFunc   ;==>TogglePause

Func tespit ()
   

 $xy = MouseGetPos()  ;mouse un x ve ye koordinatlarını verir 
ConsoleWrite("mouseclik('left'," & $xy[0]&","& $xy[1]  &")"      &@CRLF  )  ; $xy[0]  x koordinatıdır. $xy[1] ise y koordinatıdır. 
ConsoleWrite("sleep(1500)"  &@CRLF)

EndFunc    

Func ShowMessage()
    MsgBox($MB_SYSTEMMODAL, "", "This is a message.")
EndFunc   ;==>ShowMessage
 

Autoit Script Editor kullanarak mouse X ve Y koordinatlarını nasıl öğreneceğiz. Autoit Script Editor de ki MouseGetPos()  komutu bir değişkene atandığında değişken artık X ve Y koordinatlarında sahiptir. Yukarıdaki örnekte X ve Y koordinatları ile birlikte MouseClick komutunun tıklanma hazır bir şekilde Autoit Script Editor konsoluna yazdırıldı gösterilmiştir. 
 programı çalıştırıp her ESC tuşuna bastığımızda Escape tuşuna bastığımızda program tespit isimli fonksiyonu gidecek ve orada bizim kullandığımız MouseGetPos() komutunu çalıştırdıktan sonra bir sonraki satırda console write komutuyla tıklanacak Mouse koordinatlarını konsola yazdıracaktır. 
 peki Mouse un bulunduğu koordinatları rengini nasıl öğreneceğiz. aynı fonksiyon içerisinde pixelgetcolor() komutunu farklı bir değişkene atayıp Autoit Script Editor konsoluna yazdırdığı mızda o koordinatın rengini öğrenmiş oluyoruz. 

 

Local $iColor = PixelGetColor(10, 100)

consolewrite("x ve y rengi " & Hex($iColor, 6)  & @CRLF)

 

tespit fonksiyonumuza ekliyoruz.

Func tespit ()
   

 $xy = MouseGetPos()  ;mouse un x ve ye koordinatlarını verir 
ConsoleWrite("mouseclik('left'," & $xy[0]&","& $xy[1]  &")"      &@CRLF  )  ; $xy[0]  x koordinatıdır. $xy[1] ise y koordinatıdır. 
ConsoleWrite("sleep(1500)"  &@CRLF)

Local $iColor = PixelGetColor($xy[0], $xy[1])

consolewrite("x ve y rengi " & Hex($iColor, 6)  & @CRLF)

EndFunc

Yapacağımız oyun botlarında ekranın belli bir .sının rengini bu piksel komutu ile öğreneceğiz. Eğer Pixel rengi bizim istediğimiz gibi ise if komutu ile programı belli fonksiyonlara yönlendireceğiz. 
 Bunun yanı sıra bazı oyunlarda mausun ok işareti bazen parmak işareti bazen kum saati ya da farklı bir şekilde görünebiliyor. o an Mouse simgesinin ne olduğunu öğrenmek için de mouseGetCursor() komutunu kullanabiliriz. bu komutu kullanırken de aynı şekilde bir değişkene atıyoruz ve Mouse un o andaki simgesi bize kaç numaralı mouse  işaretinin  kullanımda olduğunu söylemiş oluyor. daha sonra bu değişkeni Autoit Script Editor konsoluna yazdırdığı mızda Mouse un işaretinin içeriğini öğrenmiş oluyoruz. 
 aşağıdaki kod bloğunu tespit fonksiyonu içerisine yapıştırdığımız da ve programınızı çalıştırdığımızda Mouse bilgisi hakkında ekrandaki Mouse un şekli hakkında da bize bilgi verecektir.

Local $iCursor = MouseGetCursor()
consolewrite("cursor ID numarası = "& $iCursor & @CRLF)

 

farklı Mouse şekilleri esnasında (Tabii ki programı çalıştırdıktan sonra) Escape tuşuna basıp Autoit Script Editor console   bilgileri kontrol edelim.

MouseDown("left") ; sol tuşa basılı tut
mousemove (150,150) ;x ve y koordinatlarına imleci hareket ettir.
Sleep(100)
MouseUp("left") ; sol tuşu bırak

Mouse kullanımı ile alakalı belirtmek istediğim bir başka komut da Mouse Down ve Mouse Up  komutudur. Mouse move  komutunu kullanarak imlecinizi X ve Y koordinatlarını hareket ettiriyoruz. yukarıdaki örnekte mouse ile bir dosyaya basılı tuttuk ve mousemove ile sürükledik ve sonrasında  mouse up ile sürükledigimiz dosyayı bıraktık..imleci bir dosyanın üzerine getirip f5 tuşu ile programı çalıştırdıktan sonra olup biteni izleyelim.  Autoit ile dosya sürükleme işlemi bu şekilde yapılabilir. 

MouseClick"left" komutu ile sol tuşa tıklarken MouseClick"right" "komutuyla sağ tuşa tıklamasını sağlıyoruz.

Kategoriler: 

Etiketler: 

Yeni yorum ekle

Filtered HTML

  • Web sayfası ve e-posta adresleri otomatik olarak bağlantıya çevrilir.
  • İzin verilen HTML etiketleri: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Satır ve paragraflar otomatik olarak bölünür.

Plain text

  • Hiç bir HTML etiketine izin verilmez
  • Web sayfası ve e-posta adresleri otomatik olarak bağlantıya çevrilir.
  • Satır ve paragraflar otomatik olarak bölünür.
CAPTCHA
This question is for testing whether or not you are a human visitor and to prevent automated spam submissions.
Resimli CAPTCHA
Resimde görünen karakterleri girin.