Jump to content

İleri düzey AutoIT örnekleri


sk8er_boi
 Share

Recommended Posts

  • 3 hafta sonra ...
  • 5 hafta sonra ...

Ben mesela 2 tane checkbox oluşturdum.Ve bunları işaretleyince verdiğim komutu uyguluyor.Ama benim istediğim şu.Hesap makinesi ve regedit olarak iki tane checkbox oluşturdum.Altına aç diye bir buton oluşturdum.Aç dediğimde sadece işaretlediğimi açacak.Tıkladığımda açmasını istemiyorum.Aç butonuna tıkladığımda açması istiyorum.Bunu nasıl yapabilirim?

Case $checkbox1

run("calc.exe")

case $checkbox2

run("regedit.exe")

case $aç

(buraya ne yazmam gerekiyor?)

Link to comment
Share on other sites

Ben mesela 2 tane checkbox oluşturdum.Ve bunları işaretleyince verdiğim komutu uyguluyor.Ama benim istediğim şu.Hesap makinesi ve regedit olarak iki tane checkbox oluşturdum.Altına aç diye bir buton oluşturdum.Aç dediğimde sadece işaretlediğimi açacak.Tıkladığımda açmasını istemiyorum.Aç butonuna tıkladığımda açması istiyorum.Bunu nasıl yapabilirim?

Case $checkbox1

run("calc.exe")

case $checkbox2

run("regedit.exe")

case $aç

(buraya ne yazmam gerekiyor?)

#include <GUIConstants.au3>

#Region ### START Koda GUI section ###

$Form1 = GUICreate("Peerfen", 200, 145, 296, 199)

GUISetBkColor(0xFF3C22)

$Checkbox1 = GUICtrlCreateCheckbox("Hesap Makinesi", 4, 40, 121, 25)

$Checkbox2 = GUICtrlCreateCheckbox("Regedit", 4, 60, 121, 25)

$Button1 = GUICtrlCreateButton("Tümünü Sec", 4, 4, 75, 17, 0)

$Button2 = GUICtrlCreateButton("Calistir", 60,24, 75, 17, 0)

$Button3 = GUICtrlCreateButton("Secme", 120,4, 75, 17, 0)

GUISetState(@SW_SHOW)

#EndRegion ### END Koda GUI section ###

While 1

$nMsg = GUIGetMsg()

Switch $nMsg

Case $GUI_EVENT_CLOSE

Exit

Case $Button1

GUICtrlSetState($Checkbox1,$GUI_CHECKED)

GUICtrlSetState($Checkbox2,$GUI_CHECKED)

case $Button2

If GUICtrlRead($Checkbox1)=1 then Run("calc.exe")

If GUICtrlRead($Checkbox2)=1 then Run("regedit.exe")

Case $Button3

GUICtrlSetState($Checkbox1,$GUI_UNCHECKED)

GUICtrlSetState($Checkbox2,$GUI_UNCHECKED)

EndSwitch

WEnd

Link to comment
Share on other sites

Zahmet olacak ama bir soru daha soracam.Mesela şimdi ben çalıştır butonuna tıkladığımda bana soracak programlar çalışsınmı diye.Evet dersem öyle çalıştıracak hayır dersem scripti kapatmayacak.Yine ilk başta ki checkbox ekranı gelicek.Msgbox func falan uğraştım ama yapamadım.Komutları biliyorumda nereye koyacağımı bilmiyorum.Olmuyor o yüzden.Bunada yardımcı olursanız memnun olurum.Şimdilik daha soru sormam.:)

Edited by guven_memo
Link to comment
Share on other sites

Zahmet olacak ama bir soru daha soracam.Mesela şimdi ben çalıştır butonuna tıkladığımda bana soracak programlar çalışsınmı diye.Evet dersem öyle çalıştıracak hayır dersem scripti kapatmayacak.Yine ilk başta ki checkbox ekranı gelicek.Msgbox func falan uğraştım ama yapamadım.Komutları biliyorumda nereye koyacağımı bilmiyorum.Olmuyor o yüzden.Bunada yardımcı olursanız memnun olurum.Şimdilik daha soru sormam.:D

Gördüğün üzere @Peerfen verdiği kodlara sadece msgbox eklenmiştir.......

#include <GUIConstants.au3>
$Form1 = GUICreate("Peerfen", 200, 145, 296, 199)
GUISetBkColor(0xFF3C22)
$Checkbox1 = GUICtrlCreateCheckbox("Hesap Makinesi", 4, 40, 121, 25)
$Checkbox2 = GUICtrlCreateCheckbox("Regedit", 4, 60, 121, 25)
$Button1 = GUICtrlCreateButton("Tümünü Sec", 4, 4, 75, 17, 0)
$Button2 = GUICtrlCreateButton("Calistir", 60,24, 75, 17, 0)
$Button3 = GUICtrlCreateButton("Secme", 120,4, 75, 17, 0)
GUISetState(@SW_SHOW)


While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
GUICtrlSetState($Checkbox1,$GUI_CHECKED)
GUICtrlSetState($Checkbox2,$GUI_CHECKED)
case $Button2
$iMsgBoxAnswer = MsgBox(36,"Ne Yapmak Istiyorsun?","Seçili Programlar Çalışsın mı?")
Select
Case $iMsgBoxAnswer = 6;Yes
If GUICtrlRead($Checkbox1)=1 then Run("calc.exe")
If GUICtrlRead($Checkbox2)=1 then Run("regedit.exe")
Case $iMsgBoxAnswer = 7;No

EndSelect
Case $Button3
GUICtrlSetState($Checkbox1,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox2,$GUI_UNCHECKED)
EndSwitch
WEnd[/CODE]

Link to comment
Share on other sites

Cevaplar için çok teşekkür ederim.Aklıma bir soru daha geldi.Checkbox'lardan hiçbirisi işaretli değilse msgbox komutu çıkmasın.Böyle birşey mümkün mü?Normalde if komutlarıyla yapıyorum ama buraya case falan karıştı.O yüzden hata veriyor.Kod aşağıda nerde hata yapmışım?(Gerçekten şimdilik bu son sorum.Daha sormıcam :good: )

Case $Button2
if GUICtrlSetState($Checkbox1,$gui_checked) then
$iMsgBoxAnswer=MsgBox(4,"Bilgi","Seçili Programlar Çalıştırılsın mı?")
Select
case $iMsgBoxAnswer=6
if GUICtrlRead($Checkbox1)=1 then Run("Calc.exe")
if GUICtrlRead($Checkbox2)=1 then Run("Regedit.exe")
EndSelect
Endif[/CODE]

Edited by guven_memo
Link to comment
Share on other sites

#include <GUIConstants.au3>
$Form1 = GUICreate("Peerfen", 200, 145, 296, 199)
GUISetBkColor(0xFF3C22)
$Checkbox1 = GUICtrlCreateCheckbox("Hesap Makinesi", 4, 40, 121, 25)
$Checkbox2 = GUICtrlCreateCheckbox("Regedit", 4, 60, 121, 25)
$Button1 = GUICtrlCreateButton("Tümünü Sec", 4, 4, 75, 17, 0)
$Button2 = GUICtrlCreateButton("Calistir", 60,24, 75, 17, 0)
$Button3 = GUICtrlCreateButton("Secme", 120,4, 75, 17, 0)
GUISetState(@SW_SHOW)


While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
GUICtrlSetState($Checkbox1,$GUI_CHECKED)
GUICtrlSetState($Checkbox2,$GUI_CHECKED)
case $Button2
if GUICtrlRead($Checkbox1)=0 And GUICtrlRead($Checkbox2)=0 then
buraya ne yaptırmak istiyorsan onu yaz.
else $iMsgBoxAnswer = MsgBox(36,"Ne Yapmak Istiyorsun?","Seçili Programlar Çalışsın mı?")
Select
Case $iMsgBoxAnswer = 6;Yes
If GUICtrlRead($Checkbox1)=1 then Run("calc.exe")
ElseIf GUICtrlRead($Checkbox2)=1 then Run("regedit.exe")
EndIf
Case $iMsgBoxAnswer = 7;No
endselect
endif
Case $Button3
GUICtrlSetState($Checkbox1,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox2,$GUI_UNCHECKED)
EndSwitch
WEnd[/CODE]

kodların bu olması lazım bu arada kod içerisinde[b] buraya ne yaptırmak istiyorsan onu yaz.[/b] burayı kendine göre düzenle...

Link to comment
Share on other sites

İlgin için sağol ama olmadı hata veriyor.Line28'de veriyor.Ayrıca yaptırmak istediğim bişey yok.Checkboxların hiç biri işaretli değilse ordaki msgbox ekranı karşıma çıkmasın yeter.

#include <GUIConstants.au3>
$Form1 = GUICreate("Peerfen", 200, 145, 296, 199)
GUISetBkColor(0xFF3C22)
$Checkbox1 = GUICtrlCreateCheckbox("Hesap Makinesi", 4, 40, 121, 25)
$Checkbox2 = GUICtrlCreateCheckbox("Regedit", 4, 60, 121, 25)
$Button1 = GUICtrlCreateButton("Tümünü Sec", 4, 4, 75, 17, 0)
$Button2 = GUICtrlCreateButton("Calistir", 60,24, 75, 17, 0)
$Button3 = GUICtrlCreateButton("Secme", 120,4, 75, 17, 0)
GUISetState(@SW_SHOW)


While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
GUICtrlSetState($Checkbox1,$GUI_CHECKED)
GUICtrlSetState($Checkbox2,$GUI_CHECKED)
case $Button2
If GUICtrlRead($Checkbox1) = $GUI_CHECKED Or GUICtrlRead($Checkbox2) = $GUI_CHECKED Then
$iMsgBoxAnswer = MsgBox(36,"Ne Yapmak Istiyorsun?","Seçili Programlar Çalışsın mı?")
Select
Case $iMsgBoxAnswer = 6;Yes
If GUICtrlRead($Checkbox1)=1 then Run("calc.exe")
If GUICtrlRead($Checkbox2)=1 then Run("regedit.exe")
Case $iMsgBoxAnswer = 7;No

EndSelect
EndIf
Case $Button3
GUICtrlSetState($Checkbox1,$GUI_UNCHECKED)
GUICtrlSetState($Checkbox2,$GUI_UNCHECKED)
EndSwitch
WEnd[/CODE]

Gördüğün üzere ufak bir ek ile sorun kolaylıkla çözülüyor......

Link to comment
Share on other sites

AutoIt'te Vista Aero Glass GUI'ler oluşturmak

(NOT : Sadece Windows Vista'da çalışmaktadır.)

vistaa3glasson6.jpg

vistaa3glassareaxi0.png

Öncelikle bir Vista.Au3 dosyası oluşturun.

$Struct = DllStructCreate("int cxLeftWidth;int cxRightWidth;int cyTopHeight;int cyBottomHeight;")

; #FUNCTION#;=====================================================================
==========
;
; Name...........: _Vista_ApplyGlass
; Description ...: Applys glass effect to a window
; Syntax.........: _Vista_ApplyGlass($hWnd, [$bColor)
; Parameters ....: $hWnd - Window handle:
;                  $bColor  - Background color
; Return values .: Success - No return
;                  Failure - Returns 0
; Author ........: James Brooks
; Modified.......:
; Remarks .......: Thanks to weaponx!
; Related .......:
; Link ..........;
; Example .......; Yes
;
;;==============================================================================
============
Func _Vista_ApplyGlass($hWnd, $bColor = 0x000000)
    If @OSVersion &lt;&gt; "WIN_VISTA" Then
        MsgBox(16, "_Vista_ApplyGlass", "You are not running Vista!")
        Exit
    Else
        GUISetBkColor($bColor); Must be here!
        $Ret = DllCall("dwmapi.dll", "long", "DwmExtendFrameIntoClientArea", "hwnd", $hWnd, "long*", DllStructGetPtr($Struct))
        If @Error Then
            Return 0
            SetError(1)
        Else
            Return $Ret
        EndIf
    EndIf
EndFunc  ;==&gt;_Vista_ApplyGlass

; #FUNCTION#;=====================================================================
==========
;
; Name...........: _Vista_ApplyGlassArea
; Description ...: Applys glass effect to a window area
; Syntax.........: _Vista_ApplyGlassArea($hWnd, $Area, [$bColor)
; Parameters ....: $hWnd - Window handle:
;                   $Area - Array containing area points
;                  $bColor  - Background color
; Return values .: Success - No return
;                  Failure - Returns 0
; Author ........: James Brooks
; Modified.......:
; Remarks .......: Thanks to monoceres!
; Related .......:
; Link ..........;
; Example .......; Yes
;
;;==============================================================================
============
Func _Vista_ApplyGlassArea($hWnd, $Area, $bColor = 0x000000)
    If @OSVersion &lt;&gt; "WIN_VISTA" Then
        MsgBox(16, "_Vista_ApplyGlass", "İşletim Sisteminiz Windows Vista değil!")
        Exit
    Else
        If IsArray($Area) Then
            DllStructSetData($Struct, "cxLeftWidth", $Area[0])
            DllStructSetData($Struct, "cxRightWidth", $Area[1])
            DllStructSetData($Struct, "cyTopHeight", $Area[2])
            DllStructSetData($Struct, "cyBottomHeight", $Area[3])
            GUISetBkColor($bColor); Must be here!
            $Ret = DllCall("dwmapi.dll", "long*", "DwmExtendFrameIntoClientArea", "hwnd", $hWnd, "ptr", DllStructGetPtr($Struct))
            If @Error Then
                Return 0
            Else
                Return $Ret
            EndIf
        Else
            MsgBox(16, "_Vista_ApplyGlassArea", "Area specified is not an array!")
        EndIf
    EndIf
EndFunc  ;==&gt;_Vista_ApplyGlassArea

Daha sonra aynı klasörde kendi AutoIt dosyanızı oluşturun.İstediğiniz gibi düzenleyin GUI'yi.

#include &lt;GUIConstants.au3&gt;
#include &lt;Vista.au3&gt;

Global $MyArea[4] = [50, 50, 50, 50]

$GUI = GUICreate("Windows Vista DWM", 243, 243)
$Apply = GUICtrlCreateButton("Apply", 80, 104, 83, 25, 0)
GUISetState()

While 1
     $iMsg = GUIGetMsg()
     Switch $iMsg
         Case $GUI_EVENT_CLOSE
             Exit
         Case $Apply
           ;_Vista_ApplyGlass($GUI)
             _Vista_ApplyGlassArea($GUI, $MyArea)
     EndSwitch
WEnd

Edited by morning
Link to comment
Share on other sites

AutoIT ile taş kağıt makas:

Tamamen kendim yazdım.

SciTE'de bunları yapıştırıp F5 tuşuna basarak oynayabilirsiniz :)

Dikkat bağımlılık yapabilir :(:)

; Tas kagit makas
; www.TNCTR.COM
; Morning tarafindan yazilmiştir.

; Gereken GUI dosyalarini entegre et
#include &lt;GUIConstants.au3&gt;

#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("Taş kagit Makas", 226, 66, 193, 125) ; GUI Oluştur
$Button1 = GUICtrlCreateButton("Taş", 8, 32, 65, 25, 0) ; Taş butonu
$Button2 = GUICtrlCreateButton("Kagit", 80, 32, 65, 25, 0) ;Kagit butonu
$Button3 = GUICtrlCreateButton("Makas", 152, 32, 65, 25, 0) ; Makas butonu
$Label1 = GUICtrlCreateLabel("Seçiminizi yapin:", 8, 8, 81, 17) ; Seçim yazisi
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###

; PC OYNUYOR
; 1-3 arasi seçim yap demek.Random komutu sadece sayi destekliyor çünkü.
; Taş 3
; Makas 2
; Kagit 1'i temsil ediyor.
$PC = Random(1,3,1)
if $PC = 1 then $PCsecim = " Kagit "
if $PC = 2 then $PCsecim = " Makas "
if $PC = 3 then $PCsecim = " Tas "

; Restart Fonksiyonu.Tekrar seçim yaptiriyoruz.Her seferinde pc ayni degeri vermesin diye.
Func _restart()
$PC = Random(1,3,1)
if $PC = 1 then $PCsecim = " Kagit "
if $PC = 2 then $PCsecim = " Makas "
if $PC = 3 then $PCsecim = " Tas "
EndFunc  ;==&gt;_restart

; her tuş için Ayri ayri komut yazacagimiza bir fonksiyon oluşturmak daha mantikli.
Func tkm($1)
    If $1 = $PC then
        MsgBox(0,"Berabere!","Bilgisayar da" &amp; $PCsecim &amp; "secti." &amp; @CRLF &amp; "Bilgisayarla berabere kaldiniz.")
        _restart()
    Elseif $1 &gt; $PC then
        ; Ben tas dediysem pc de kagit dediyse ben kaybederim.
        If $1 = 3 and $PC = 1 then
        MsgBox(0,"Kaybettiniz!","Bilgisayar" &amp; $PCsecim &amp; "secti." &amp; @CRLF &amp; "Maalesef kaybettiniz.")
        Else
        MsgBox(0,"Kazandiniz!","Bilgisayar" &amp; $PCsecim &amp; "secti." &amp; @CRLF &amp; "Bilgisayari yendiniz! Tebrikler.")
        EndIf
        _restart()
    Elseif $1 &lt; $PC then
        ; Ben kagit dediysem pc de taş dediyse ben kazanirim.
        If $1 = 1 and $PC = 3 then
        MsgBox(0,"Kazandiniz!","Bilgisayar" &amp; $PCsecim &amp; "secti." &amp; @CRLF &amp; "Bilgisayari yendiniz! Tebrikler.")
        Else
        MsgBox(0,"Kaybettiniz!","Bilgisayar" &amp; $PCsecim &amp; "secti." &amp; @CRLF &amp; "Maalesef kaybettiniz.")
        EndIf
        _restart()
    EndIf
EndFunc

While 1
    $nMsg = GUIGetMsg()
    Select
        Case $nMsg = $Button1 ; Buton1 (Taş) için komut verir
            tkm(3)
        Case $nMsg = $Button2 ; Kagit
            tkm(1)
        Case $nMsg = $Button3 ; Makas
            tkm(2)
    EndSelect
    ; Bunu yazmazsak GUI Görünmez.Her gui oluşturdugunuzda gereklidir.
    Switch $nMsg
        Case $GUI_EVENT_CLOSE
            Exit
    EndSwitch
WEnd

Edited by morning
Link to comment
Share on other sites

AutoIT ile taş kağıt makas:

Tamamen kendim yazdım.

SciTE'de bunları yapıştırıp F5 tuşuna basarak oynayabilirsiniz :huh:

Dikkat bağımlılık yapabilir :D:blink:

;) Güzel olmuş eline sağlık. Biraz kısalttım. Umarım kızmazsın....

; Tas kagit makas

; www.TNCTR.COM

; Morning tarafindan yazilmiştir.

Global $PC

$Form1 = GUICreate("Taş kagit Makas", 226, 66, 193, 125) ; GUI Oluştur

$Button1 = GUICtrlCreateButton("Taş", 8, 32, 65, 25, 0) ; Taş butonu

$Button2 = GUICtrlCreateButton("Kagit", 80, 32, 65, 25, 0) ;Kagit butonu

$Button3 = GUICtrlCreateButton("Makas", 152, 32, 65, 25, 0) ; Makas butonu

$Label1 = GUICtrlCreateLabel("Seçiminizi yapin:", 8, 8, 81, 17) ; Seçim yazisi

GUISetState(@SW_SHOW)

While 1

$nMsg = GUIGetMsg()

Switch $nMsg

Case $Button1 ; Buton1 (Taş) için komut verir

tkm(3)

Case $Button2 ; Kagit

tkm(1)

Case $Button3 ; Makas

tkm(2)

Case -3

Exit

EndSwitch

WEnd

Func tkm($1)

; PC OYNUYOR

; 1-3 arasi seçim yap demek.Random komutu sadece sayi destekliyor çünkü.

; Taş 3

; Makas 2

; Kagit 1'i temsil ediyor.

$PC = Random(1,3,1)

if $PC = 1 then $PCsecim = " Kagit"

if $PC = 2 then $PCsecim = " Makas"

if $PC = 3 then $PCsecim = " Taş"

If $1 = $PC then

MsgBox(0,"Berabere!","Bilgisayar da " & $PCsecim & " secti." & @CRLF & "Bilgisayarla berabere kaldiniz.")

Elseif $1 > $PC then

; Ben tas dediysem pc de kagit dediyse ben kaybederim.

If $1 = 3 and $PC = 1 then

MsgBox(0,"Kaybettiniz!","Bilgisayar " & $PCsecim & " secti." & @CRLF & "Maalesef kaybettiniz.")

Else

MsgBox(0,"Kazandiniz!","Bilgisayar " & $PCsecim & " secti." & @CRLF & "Bilgisayari yendiniz! Tebrikler.")

EndIf

Elseif $1 < $PC then

; Ben kagit dediysem pc de taş dediyse ben kazanirim.

If $1 = 1 and $PC = 3 then

MsgBox(0,"Kazandiniz!","Bilgisayar " & $PCsecim & " secti." & @CRLF & "Bilgisayari yendiniz! Tebrikler.")

Else

MsgBox(0,"Kaybettiniz!","Bilgisayar " & $PCsecim & " secti." & @CRLF & "Maalesef kaybettiniz.")

EndIf

EndIf

EndFunc

Link to comment
Share on other sites

Ben dosya versiyonuna göre dosyayı silmek istiyorum.Böyle birşey mümkün mü bilmiyorum ama.Mesela calc.exe dosyasının sürümü 6.0 ise dosya silinsin.

$ver = FileGetVersion("calc.exe")
Filedelete("calc.exe")[/CODE]

Burda yapmak istediğim calc.exe'nin sürümü 6.0 ise silinsin.Değilse silinmesin.İstediğimi yapabilmek için yukarıda code içine aldığım komutlardaki düzeltmeleri ve eklentileri yapabilirmisiniz ?[/b][/color]

Edited by crazy_pretty_murat
Link to comment
Share on other sites

:D Güzel olmuş eline sağlık. Biraz kısalttım. Umarım kızmazsın....

Yok yav niye kızayım.Select yerine Switchin de butonlarda kullanılabildiğini öğrendim sayende.

Bir de boşu boşuna restart kodu yazmışım.

Ben dosya versiyonuna göre dosyayı silmek istiyorum.Böyle birşey mümkün mü bilmiyorum ama.Mesela calc.exe dosyasının sürümü 6.0 ise dosya silinsin.

CODE

$ver = FileGetVersion("calc.exe")

Filedelete("")

Burda yapmak istediğim calc.exe'nin sürümü 6.0 ise silinsin.Değilse silinmesin.İstediğimi yapabilmek için yukarıda code içine aldığım komutlardaki düzeltmeleri ve eklentileri yapabilirmisiniz ?

Valla daha denemedim ama.

$ver = FileGetVersion("calc.exe")

if not $ver = 6.0 then FileDelete("calc.exe")

Belki çalışır.

Edited by morning
Link to comment
Share on other sites

Bir oyunda ben karaladım. Umarım Beğenirsiniz. Oyunun adı beni yakala.

Amaç Beni yakala tuşuna fare ile basmak. Ama hile yok :warning:. Yani klevye yasak...

İki örnek veriyorum. ilk örnek çok basit bişi. İkincisi birinciye nazaran biraz daha gelişmiş.....

Buyrun....

Örnek1: Bu kadar basit yani :D

;~ Karalayan Blue_Life
Global Const $GuiKapat = -3
$MainPage = GUICreate("Beni Yakala - BlueLife", 500, 300, 239, 169)
GUISetBkColor(0x0d8be9)
$Yakala = GUICtrlCreateButton("Beni Yakala", 0, 0, 75, 25,8192)
GUISetState(@SW_SHOW)
While 1
$Random1 = Random(1,425,1)
$Random2 = Random(1,280,1)
GUICtrlSetPos($Yakala, $Random1,$Random2)
$msg = GUIGetMsg()
If $msg = $GuiKapat Then Exit
If $msg = $Yakala Then MsgBox(64,"Tebrikler","Beni yakalamayı başardın!" & @crlf & " Hile yok dimi? :)")
Sleep(50);Hızını ayarla
WEnd
Exit[/CODE]

Örnek2: Biraz daha iyi.... :D Ama biraz edit gerekebilir.

[CODE];~ Karalayan Blue_Life
Global Const $GuiKapat = -3
Global $BlTitle = "Beni Yakala2 - BlueLife"
Global $Random1 = 210,$Random2 = 135
Global $MainPage,$Yakala,$Mousepos,$MainPos
$MainPage = GUICreate($BlTitle, 500, 300, 239, 169)
GUISetBkColor(0x0d8be9)
$Yakala = GUICtrlCreateButton("Beni Yakala", $Random1, $Random2, 75, 25,8192)
GUISetState(@SW_SHOW)
While 1
$Mousepos = MouseGetPos()
$MainPos = WinGetPos($BlTitle)
IF $Mousepos[0] < ($MainPos[0] + $MainPos[2]) And $Mousepos[0]+$MainPos[2] > ($MainPos[2]+$MainPos[0]) _
And ($Mousepos[1] < ($MainPos[1] + $MainPos[3]) And $Mousepos[1]+$MainPos[3] > ($MainPos[3]+$MainPos[1])) Then
If $Mousepos[0] > ($Random1 + $MainPos[0]) -5 And $Mousepos[0] < ($Random1 + $MainPos[0]) + 80 _
And $Mousepos[1] > ($Random2 + $MainPos[1]) +5 And $Mousepos[1] < ($Random2 + $MainPos[1]) + 60 Then
$Random1 = Random(1,425,1)
$Random2 = Random(1,280,1)
GUICtrlSetPos($Yakala, $Random1,$Random2)
EndIf
EndIf
$msg = GUIGetMsg()
If $msg = $GuiKapat Then Exit
If $msg = $Yakala Then MsgBox(64,"Tebrikler","Beni yakalamayı başardın!" & @crlf & " Hile yok dimi? :)")
WEnd
Exit[/CODE]

Kendin editleyerek daha güzel bir şey yapabilirsiniz. Mesela buton yerine ilgi çekici bir resim olabilir.

Link to comment
Share on other sites

Ben ProgressSet li bir kurlum yapamya calistim yanliz bir sorunum var

mesela 22.exe kurlduktan sonra bir inputbox gibi birsey acilsin ve 22.exe kurldu diye bir yazi ciksin

sonra 11.exe kuruldukdan sonra bu inputboxun altina hemen 11 exe kurulumu tamamlandi yazsin

yani wpi deki gibi birsey olmasini istiyorum

böyle birsey yapilabilirmi

ProgressOn("Progress Meter", "Program Kurulumu", "0 percent")

ProgressSet( 0, 0 & " percent")

ShellExecuteWait(@DesktopDir & "\22.exe")

ProgressSet( 50, 50 & " percent")

ShellExecuteWait(@DesktopDir & "\11.exe")

ProgressSet(100 , "Bitti", "Tamamlandi")

Link to comment
Share on other sites

Öncelikle bunu yapabilmen için gui modunda olman lazım ki labellere yazı yazabilesin.İki tane label oluştur ve verdiğin kodda shellexecutelardan sonra adlibenable fonksiyonunu çalıştır

Func programabak()
if not ProcessExists("22.exe") Then GUICtrlSetData($Label_1,"22.exe yüklendi.")
AdlibDisable()
EndFunc[/CODE]

çalıştırılacak fonksiyon ise böyle olsun.Gui moduna geçmeden yapabilirsin aslında direk msgboxtan göster.Ve mesaj boxın timeoutunu belirlersen de katılımsız olur...

Edited by blackman12
Link to comment
Share on other sites

Ben ProgressSet li bir kurlum yapamya calistim yanliz bir sorunum var

mesela 22.exe kurlduktan sonra bir inputbox gibi birsey acilsin ve 22.exe kurldu diye bir yazi ciksin

sonra 11.exe kuruldukdan sonra bu inputboxun altina hemen 11 exe kurulumu tamamlandi yazsin

yani wpi deki gibi birsey olmasini istiyorum

böyle birsey yapilabilirmi

Çok basit bir şekilde yapmak istediğini yapmak istiyorsan bence gui ekranı oluştur.

Basit şekilde misal:

Global Const $GuiKapat = -3
$MainPage = GUICreate("PeerFen Program Kurulumu", 310, 130, -1, -1,0x00C00000)
;~ GUISetBkColor(0x0d8be9)
$Label = GUICtrlCreateLabel("Program 22 kuruluyor lütfen bekleyiniz.", 10, 10,280, 35, 0x01)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
$progressbar = GUICtrlCreateProgress(10, 50, 280, 25)
$Label2 = GUICtrlCreateLabel("", 10, 90,280, 35, 0x01)
GUICtrlSetFont(-1, 10, 800, 0, "MS Sans Serif")
GUICtrlSetColor(-1, 0xFF0000)
GUISetState(@SW_SHOW)
While 1
ShellExecuteWait(@ScriptDir & "\22.exe")
GUICtrlSetData($progressbar, "50")
GUICtrlSetData($Label, "Program 11 kuruluyor lütfen bekleyiniz.")
GUICtrlSetData($Label2, "Program 22 kuruldu.")
ShellExecuteWait(@ScriptDir & "\11.exe")
GUICtrlSetData($Label, "Tüm programlar kuruldu.")
GUICtrlSetData($Label2, "Program 11 kuruldu.")
GUICtrlSetData($progressbar, "100")
Sleep(1000);Son ekran durumunu okumak için gerekli. Kendine göre ayarla.
Exit
WEnd[/CODE]

Link to comment
Share on other sites

AutoIt'te bir yazının son 4 harfini nasıl alabilirim?

Aslında şöyle diyeyim.

@ScriptDir komutunda sadece bulunduğu klasör ismini almak istiyorum.

C:\A\b de ise b'yi verecek bana.

klasör 4 harfli olduğundan son 4 harf de olur.

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...