Jump to content

İleri düzey AutoIT örnekleri


sk8er_boi
 Share

Recommended Posts

merhaba arkadaşlar ben autoit kurulumu başlar başlamaz klavye ve mausun kilitlenmesini ancak kurulumun devam etmesini kurulum biter bitmezde maus ve klavyenin yeniden açılmasını istiyorum. böyle bir şey mümkünse nasl yaparəm acaba bilginiz varmı şimdiden teşekkürler

Link to comment
Share on other sites

Bu gibi konularda autoit'in help dosyasından yardım alabilirsin. Orada çok güzel örnekler var.

Örnek olarak;

[php]
$destination = "..\GUI\mslogo.jpg"

SplashImageOn("Splash Screen", $destination,250,50)
Sleep(3000)
SplashOff()
[/php]

Link to comment
Share on other sites

Şöyle olabilir...

[php]
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>

_RESIM()

Func _RESIM()
$Form1 = GUICreate("Form1", 640, 480, -1, -1, $WS_POPUP)
$Pic1 = GUICtrlCreatePic("RESİM YOLU", 0, 0, 640, 480, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
GUISetState(@SW_SHOW)
Sleep(5000)
Exit
EndFunc
[/php]

Link to comment
Share on other sites

arkadaşlar merhaba şöyle bir sorunum var iki bileşenli bir programı kuruyorum ancak her ikisi restart istiyor. controlclick send tab enter ve alt la denedim asla tepki vermiyor bunu yapmadığımdada diyer kurulum başlamaz biliyorsunuz bir sorayım dedim belki böyle bir şey var diye soruyorum size. ilk kurulum bitdiyinde restart istemese böyle bir şey yapmamız mümkünmü acaba öyle kod varmı
ShellExecuteWait("JAWS.msi","/qb")
ne ekleye bilirim acaba reboot istemeden diyer kuruluma gecsin.

Link to comment
Share on other sites

Sorunun cevabı aşağıdaki komutlarda. MSI dosyaları ile ilgili komutlar:

Sen şöyle yapabilirsin: "[b]java.msi /qn /norestart[/b]"

Komutlar:
[codebox]Windows® Installer 5.0.7600.16385

msiexec /Option <Gerekli Parametre> [İsteğe Bağlı Parametreler]

Yükleme Seçenekleri
</package | /i> <Product.msi>
Bir ürünü yükler veya yapılandırır
</a <Product.msi>
Yönetimsel yükleme - Bir ürünü ağ üzerinde yükler
/j<u|m> <Product.msi> [/t <Dönüştürme Listesi>] [/g <Dil Kimliği>]
Ürünü tanıtır - tüm kullanıcılar için m, geçerli kullanıcı için u
</uninstall | /x> <Product.msi | ProductCode>
Ürünü kaldırır
Görüntü Seçenekleri
/quiet
Sessiz mod, kullanıcı etkileşimi yok
/passive
Katılımsız mod - sadece ilerleme çubuğu
/q[n|b|r|f]
Kullanıcı etkileşim düzeyini ayarlar
n - Kullanıcı arabirimi (UI) yok
b - Temel UI
r - Azaltılmış UI
f - Tam UI (varsayılan)
/help
Yardım bilgisi
Yeniden Başlatma Seçenekleri
/norestart
Yükleme tamamlandıktan sonra yeniden başlatma
/promptrestart
Gerekli ise kullanıcıdan yeniden başlatmasını ister
/forcerestart
Yüklemeden sonra bilgisayarı her zaman yeniden başlat
Günlüğe Kaydetme Seçenekleri
/l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] <GünlükDosyası>
i - Durum iletileri
w - Önemsiz uyarılar
e - Tüm hata iletileri
a - İşlemlerin başlatılması
r - İşleme özgü kayıtlar
u - Kullanıcı istekleri
c - Kullanıcı Arabirimi başlangıç parametreleri
m - Bellek yetersiz veya önemli çıkış bilgisi
o - Yetersiz disk alanı iletileri
p - Terminal özellikleri
v - Ayrıntılı çıkış
x - Ek hata ayıklama bilgisi
+ - Varolan günlük dosyasına ekle
! - Her satırı günlüğe boşalt
* - v ve x seçenekleri dışında tüm bilgileri günlüğe yaz
/log <GünlükDosyası>
/l* eşdeğeri<GünlükDosyası>
Güncelleştirme Seçenekleri
/update <Update1.msp>[;Update2.msp]
Güncelleştirmeleri uygular
/uninstall <DüzeltmeKoduGuid>[;Update2.msp] /package <Product.msi | ÜrünKodu>
Bir ürün için güncelleştirmeleri kaldırır
Onarım Seçenekleri
/f[p|e|c|m|s|o|d|a|u|v] <Product.msi | ProductCode>
Bir ürünü onarır
p - sadece dosya eksikse
o - Dosya eksikse veya daha eski bir sürüm yüklü ise(varsayılan)
o - Dosya eksikse veya eşdeğer veya daha eski bir sürüm yüklü ise
o - Dosya eksikse veya farklı bir sürüm yüklü ise
o - Dosya eksikse veya sağlama toplamı hesaplanan değerle eşleşmiyorsa
a - tüm dosyaların yeniden yüklenmesini zorlar
u - tüm gerekli kullanıcıya özel kayıt girdileri (varsayılan)
m - gerekli tüm bilgisayara özel kayıt girdisi (varsayılan)
s - varolan tüm kısa yollar (varsayılan)
v - kaynaktan çalışır ve yerel paketi yeniden önbelleğe alır
Genel Özellikleri Ayarlama
[PROPERTY=ÖzellikDeğeri][/codebox]

Link to comment
Share on other sites

Onurcum bak güzel bir fikir vermişsin arkadaşa ama biraz daha genel kullanımlık olabilir verdiğin fonksiyon farz-ı misal:

[code]#include <GDIPLUS.au3>

_RESIM("c:\deneme.bmp",5)
Exit

Func _RESIM($resim,$sure,$baslik = "",$x = -1,$y = -1)
Local $getinfo, $rgui
$getinfo = _GetWHI($resim)
$rgui = GUICreate($baslik, $getinfo[0], $getinfo[1], $x, $y, 0x80000000)
GUICtrlCreatePic($getinfo[2], 0, 0, $getinfo[0], $getinfo[1], BitOR(0x0100,0x00020000,0x04000000))
GUISetState(@SW_SHOW)
Sleep(1000*Number($sure))
GUICtrlDelete($rgui)
EndFunc

Func _GetWHI($sImage)
Local $hImage, $aRet[3]
_GDIPlus_Startup()
$hImage = _GDIPlus_ImageLoadFromFile($sImage)
$aRet[0] = _GDIPlus_ImageGetWidth($hImage)
$aRet[1] = _GDIPlus_ImageGetHeight($hImage)
$aRet[2] = _GDIPlus_BitmapCreateHBITMAPFromBitmap($hImage)
_GDIPlus_ImageDispose($hImage)
_GDIPlus_Shutdown()
Return $aRet
EndFunc[/code]

Link to comment
Share on other sites

S.a arkadaşlar ben autoit ile bir pencere içindeki butına bastırmak istiyorum mesela hesap makinesindeki 8 tuşuna devamlı basacak her 3 saniyede bunu autoit ile nasıl yazarız bir yarımcı olursanız çok lazım

Link to comment
Share on other sites

[codebox];~ XP deki hesap makinası için
;programı çalıştırıp handlesini alalım.
Run("calc.exe")
Global $Hwnd = WinGetHandle("[Class:SciCalc]")
While IsHWnd($Hwnd) = 0
$Hwnd = WinGetHandle("[Class:SciCalc]")
Sleep(50)
WEnd

;~ Butona basalım
While IsHWnd($Hwnd)
ControlCommand($Hwnd,"","Button15","check")
Sleep(1000 * 3) ;Saniye
WEnd[/codebox]

Link to comment
Share on other sites

[quote name='ali::12' date='10 Aralık 2010 - 19:05 ' timestamp='1292001304' post='924269']
Teşşekürler kardeşim o button on beş yerine Örneğin listele yazsam basar değilmi
[/quote]

Hayır basmaz. Çünkü Button15 autoit'in window info programı ile hesap makinesinden alınmış bir değerdir. Yani Autoit Window İnfo ile basmasını istediğiniz butonun değerini öğrenip oraya yazarsanız olur...

Link to comment
Share on other sites

Ya url şeklinde değil nasıl dieyim internetten giriliyor ama daha sonra url felan yok program gibi duruyor yani pencere adını alıp içindeki butona tıklama gibi birşey yokmu valla çok lazım Özelden anlatabilirim gizli birşey

Link to comment
Share on other sites

arkadaşlar benim elaman olayı anlatamamış bir site üzerinde çalışan link e belli aralıklarla tıklama yapacaz yani sayfa üzerinde gelen mesaj kontrol et diye bir link var diyelim belli aralıklarla link e tıklamamız lazım bunun için ne yapabiliriz sayfa url si veremiyorum şirket içi bir ag düşünün bir pc var server olarak kullanıyor onun üzerinden mesajlaşma yapılıyor internet üzerinden erişim yok

Link to comment
Share on other sites

Şöyle açıklıyayım;




autoiti kurun tüm programlar\autoit\AutoIt Window Info.exe var bu programla tıklamak istediğiniz programın id sini öğrenin. Finder tool altındaki çemberi alıp butonun üstüne götürün.

Alttaki conrol sekmesine gelin orada classnamenn var not edin bir kenara.

aşağıdaki kodlarda button15 kısmını not ettiğiniz değer ile değiştirin.

[codebox];~ XP deki hesap makinası için
;programı çalıştırıp handlesini alalım.
Run("calc.exe")
Global $Hwnd = WinGetHandle("[Class:SciCalc]")
While IsHWnd($Hwnd) = 0
$Hwnd = WinGetHandle("[Class:SciCalc]")
Sleep(50)
WEnd

;~ Butona basalım
While IsHWnd($Hwnd)
ControlCommand($Hwnd,"","Button15","check")
Sleep(1000 * 3) ;Saniye
WEnd
[/codebox]

Link to comment
Share on other sites

  • 2 hafta sonra ...

Merhaba arkadaşlar sizden biraz yarım isticekdim.Şu ana kadar araştırdıgım bilgilerle bi bot yapmaşa başladım ama bot pixel bulunca aralıksız tıklıyor ve bu benim işime yaramıyor.


HotKeySet("s", "_Exit")

; Items' Pixel
$BonusBox=0x8D81CD
$BonusBoxing=0xB5D9E0
$CurveBall=0xCFFFC4

While True
$BallPosition = PixelSearch(117, 314, 582, 621, $BonusBox, 1)
If IsArray($BallPosition) = True Then
MouseClick("left", $BallPosition[0], $BallPosition[1], 1, 1)
Sleep(500)
EndIf
WEnd

Func _Exit()
Exit
EndFunc


Benim ihtyacım olan komut mesela kutu topluyorsun diyelim.Bu kutuyu alana kadar bekleme(Yani bir kez tıkladıktan sonra) ,ara verme veya durma gibi bi komut.Eğer böyle bi komut bilyorsanız bu scriptde nereye yerleştirmeliyim teşekkürler.

Link to comment
Share on other sites

[color="#8B0000"][b]İyi akşamlar.
Ben autoitte bir programı PID numarası ile sonlandırmak istiyorum.ama biliyosunuz PID numarası her açılışta değişiyor.mesela ben notepad dosyasını "notepad.exe" değilde PID numarası ile sonlandırmak istiyorum.ama PID numarasını bilsek bile sonradan değişicek.sonra işe yaramıcak.yani "notepad.exe" adlı dosyanın ilk önce PID numarasını alacak.sonra dosya ismiyle değilde o PID numarasıyla sonlandıracak.bunu yapabilecek bir autoit ustası varmı acaba?blue_life olabilir ama bakalım.[/b][/color]

Edited by guven_memo
Link to comment
Share on other sites

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.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...