Mehmet Posted February 3, 2012 Share Posted February 3, 2012 (edited) Başlık ve buton arasındaki fark nasıl hesaplanıyor bir idm örneği ben mouse Koordinat Bulucu ile baktım idm next butonuna 1048,683 gibi bir değer çıkıyor ama aşağıdaki değerlerle aynı değil [img]http://i.imgur.com/MQK2U.jpg[/img] [codebox]RUN("idm517.exe") WinWaitActive("Internet Download Manager Installation Wizard", "It is strongly recommended") $POS = WinGetPos("Internet Download Manager Installation Wizard", "It is strongly recommended") MouseClick("left", $POS[0] + 330, $POS[1] + 335, 1) MouseClick("left", $POS[0] + 330, $POS[1] + 335, 1) MouseClick("left", $POS[0] + 330, $POS[1] + 335, 1) MouseClick("left", $POS[0] + 330, $POS[1] + 335, 1) MouseClick("left", $POS[0] + 330, $POS[1] + 335, 1) WinWaitActive("Installation Complete", "Download Manager")[/codebox] Edited February 3, 2012 by MeHMeTBeN Quote Link to comment Share on other sites More sharing options...
blue_life Posted February 4, 2012 Share Posted February 4, 2012 (edited) @MeHMeTBeN Öncelikle @ibocan06 ın söylediği gibi control komutlarını kullanman daha avantajlı. Yok ben mouse ile tıklatmak istiyorum dersen, çalışmanın başına, Opt("MouseCoordMode", 2) satırını ekle. Daha sonra tıklatmak istediğin kısma ait mouse konumunu Autoit v3 Infodaki Control sekmesinden al. Bu sayede ilgili aktif pencerenin istediğin yerine tıklatabilirsin. Kısaca bir örnek verelim.... [codebox]Opt("MouseCoordMode", 2) ;1=absolute, 0=relative, 2=client Local $HWND = WinGetHandle("[CLASS:Notepad]") If $HWND = "" Then Run("notepad.exe") Do Sleep(250) $HWND = WinGetHandle("[CLASS:Notepad]") Until $HWND <> "" If WinActive($HWND) = 0 Then WinActivate($HWND) MouseMove(50,50,0) ;Sen istediğin komutu yazarsın...[/codebox] Edited February 4, 2012 by blue_life Quote Link to comment Share on other sites More sharing options...
Mehmet Posted February 4, 2012 Author Share Posted February 4, 2012 Beni yanlış anladınız ControlCommand ve ControlClick ile yapabiliyorum ama benim anlamadığım bir sey var yukarıda verdiğim kodlar çok farklı örneğin şu değer MouseClick("left", $POS[0] + 330, $POS[1] + 335, 1) nasıl alınmış mouse Koordinat Bulucu ile baktım Autoit v3 Infodaki Control sekmesinden baktım ama aynı değerleri vermiyor yani yukarıda verilen kodlarla ilgili bilgilendirirseniz sevinirim üstad [img]http://i.imgur.com/5sTzs.jpg[/img] Quote Link to comment Share on other sites More sharing options...
blackman12 Posted February 4, 2012 Share Posted February 4, 2012 pencerenin koordinatlarını almış, güzel yöntem, controlclickten daha sağlıklı değil ama hata payı düşük. şöyleki mehmet, pencere ekranın herhangi bir yerindeyken wingetpos la ekranın nerede olduğuna dair verileri almış, sonra ekranın sol üst köşesini sıfır kabul ederek next butonunun koordinatlarını bulmuş (bunu deneyerek yağmıştır ya da wincoordmode ile de yapabilirsin) ve butona basmış. yani autoit windows infoda gördüğün koordinatlarla o bir değil ama ekranın x koordinatı + butonun ekrana göre x koordinatı = windows infonun verdiği x koordinatı ekranın y koordinatı + butonun ekrana göre y koordinatı = windows infonun verdiği y koordinatı dır. Quote Link to comment Share on other sites More sharing options...
Mehmet Posted February 5, 2012 Author Share Posted February 5, 2012 evet sanırım deneme yanılma yöntemiyle 330,335 değerini almış @blackman12 wincoordmode ile nasıl yapılıyor anlamadım orasını Quote Link to comment Share on other sites More sharing options...
blackman12 Posted February 5, 2012 Share Posted February 5, 2012 MouseCoordMode muydu yoksa GUICoordMode muydu tam hatırlamıyorum hangisini kullanıyorduk ama bu seçenek 0 ise "relative coords to the active window" yani aktif pencerenin sol üst köşesini 0,0 koordinatı olarak alır. ve controlclick komutunu bu koordinat sistemine göre işler. Quote Link to comment Share on other sites More sharing options...
blue_life Posted February 5, 2012 Share Posted February 5, 2012 @eHMeTBeN Yukarıdaki verdiğim örneği incelemedin mi? Örnekte notepad ekranı nerde olursa olsun, MouseMove(50,50,0) ile fare ilgili notepad ekranının 50x50 kordinatlarına taşınıyor... Yani MouseMove komutu yerine MouseClick vs. de yazarak ilgili ekranın belirlediğin konuma tıklatma yapabilirsin. Biraz kurcala... Quote Link to comment Share on other sites More sharing options...
zamaneberduşu Posted October 26, 2012 Share Posted October 26, 2012 [b]Bi serial girdirmem gerekiyor fakat auto info ile buton alamıyorum mauserocerder ile yapmam lazım MouseClick("left",398, 176) bu şekilde kendi bilgisayarımda girdiriyorum fakat başka bilgisayarda o bölüme tıklamıyorum bu sorunu nasıl aşabilirim acaba ?[/b] Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.