5 Ekim 2013 Cumartesi

Autoit:Pencere Takibi Yöntemi ile Katılımsız

Gelen bir mesaj üzerine hem Autoit ile bu yöntemi anlatmış hemde IDM katılımsız yapımı hakkındaki soruyu cevaplamış olacağımı düşünüyorum.
Aşağıdaki kodlara açıklamalarını da yazdım. Kısaca Orijinal kurulum dosyasını kurarken çıkan kurulum pencerelerinin bazı özelliklerini(pencere başlığı, buton metni vs.) alıyoruz. Daha sonra autoit kodları ile özelliğini belirttiğimiz pencere çıkınca nasıl davranacağını gösteriyoruz.(Butona tıkla, Combobox'tan seçim yap, onay kutusu işaretle/kaldır, metin gir vs.)
Örnek program olarak Internet Download Manager'ı seçtim.
Sorularınız olursa yorum kutusu aşağıda.
...
;İlk olarak bazı sabitleri belirleyelim.
;Kurulum pencerelerinin görünürlük seviyesi(0-255)
$opacity = 2
;Kurulum adımlarını Türkçe yapacağız.
$lang = 'Türkçe'

;Sabitler:Pencere başlığı, tıklanacak buton metinleri...(AutoIt Window Info aracı ile daha önceden aldım)
$title1 = "Internet Download Manager Kurulum Sihirbazı"
$title2 = "Lütfen IDM Lisansını Okuyun"
$title3 = "Hedef Konumu Seçin"
$title4 = "Program Yöneticisi Grubunu Seçin"
$title5 = "Internet Download Manager Kurulumunu Başlat"
$title6 = "Kurulum Tamamlandı"
$text1 = "İleri >"
$text2 = "Bitir >"

;Program çalışıyorsa kapatalım.
ProcessClose("IDMan.exe")
ProcessClose("IEMonitor.exe")

;Kurulum dosyasını çalıştırıyoruz.
Run("idman_setup.exe");

;Program kurulurken fare ve klavyeyi kilitleyelim ki kuruluma dışarıdan müdahaleyi engelleyelim.
BlockInput(1);

;Yükleme İşlemi
;Dil Seçimi
;Dil seçim penceresinin gelmesini 2 saniye bekler Türkçeyi seçip devam  eder. Bu şekilde yapmamın nedeni bazen bu pencere gelmeyebiliyor.
$exist = WinWaitActive("IDM Setup", "OK",2)
If $exist <> 0 Then
  ControlCommand ( "IDM Setup", "", "ComboBox1", "SelectString", $lang )
  ControlCommand ( "IDM Setup", "OK", "Button1", "Check", "")
EndIf
;Adım-1
;Sıradaki pencereyi bekler.(Belirtilen başlık ve nesne metinini)
 WinWaitActive($title1, $text1)
;Bu satır isteğe bağlı pencere gözden uzak bir yere taşınması için.
 WinMove($title1, $text1,@DesktopWidth,@DesktopHeight)
;Pencere görünürlüğü ayarlıyoruz.
 WinSetTrans($title1, $text1,$opacity)
;Butona tıklatıyoruz.(Farklı kodlarda kullanılabilir.)
 ControlClick($title1, $text1, 1008)
;Adım-2
 WinWaitActive($title2, $text1)
 WinSetTrans($title2, $text1,$opacity)
 ControlClick($title2, $text1, 1008)
;Adım-3
 WinWaitActive($title3, $text1)
 WinSetTrans($title3, $text1,$opacity)
 ControlClick($title3, $text1, 1008)
;Adım-4 (Bu kısım daha önce vardı şimdi yok)
; WinWaitActive($title4, $text1)
; WinSetTrans($title4, $text1,$opacity)
; ControlClick($title4, $text1, 1008)
;Adım-5
 WinWaitActive($title5, $text1)
 WinSetTrans($title5, $text1,$opacity)
 ControlClick($title5, $text1, 1008)
;Adım-6
 WinWaitActive($title6, $text2)
 WinSetTrans($title6, $text2,$opacity)
 ControlClick($title6, $text2, 1009)
;Tüm adımlar tamamlandı. Fare ve klavyeyi açalım.
BlockInput(0)

;Kurulum sonunda programı kapatıyoruz.
;Programın çalışmasını bekle
ProcessWait("IDMan.exe")
;Programı kapat
ProcessClose("IDMan.exe")

;Kurulum tamamlandı devamı Lisans işlemleri vs.
...
Mesenger Windows Live Facebook Twitter MySpace E-Posta

4 yorum:

  1. Hocam birde bunu yaparken video cekermisn sana zamet.Birde bu hocam böyle birsey yapıyorlar bu nasıl oluyor acaba yardımınız bekliyorum....,
    asagıdaki resimlere bakarsan sevinrm...,

    http://2.bp.blogspot.com/-0f28BSUeItM/UhYD5VhBiXI/AAAAAAAAA8E/pMcXR6VAiJ4/s400/1.png

    http://4.bp.blogspot.com/-JlXsbOjmERc/UhYD5z591uI/AAAAAAAAA8I/PnmqMyrxEI8/s400/2.png

    YanıtlaSil
  2. @Aliakin Ugurcmd dosyasına kodları yazıp 7zip SFX yapmışlar. Hazırladıkalrı cmd dosyası çalışıyor. hangi sürümün çalışacağı cmd komutları ile hazırlanıyor. cmd komutları ile fazla uğraşmadım ama araştırırız.

    YanıtlaSil
  3. tamam tesekkür ederim.Bunları ögrenip bana ögretirseniz ve yardımcı olursanız sevinrim...,

    YanıtlaSil
  4. o cmd dosyasını bulup editlersen zaten öğrenmiş de olursun. Kurulum yaparken .cmd dosyasını %temp% e çıkarıyordur büyük ihtimal. O esnada bulabilirsin belki.

    YanıtlaSil

Yorum yazarken düzgün bir Türkçe kullanmaya özen gösteriniz.
Sorularınızı ilgili konuda ya da İletişim kısmından sorunuz.