guven_memo Posted November 25, 2008 Share Posted November 25, 2008 (edited) Bu kadar şeyi bilmen Visual Basic bilmendenmi kaynaklanıyor.Hemen hemen aynı komutlarlamı çalışıyor bunlar? Edited November 25, 2008 by guven_memo Quote Link to comment Share on other sites More sharing options...
Administrator sk8er_boi Posted December 10, 2008 Author Administrator Share Posted December 10, 2008 Bu kadar şeyi bilmen Visual Basic bilmendenmi kaynaklanıyor.Hemen hemen aynı komutlarlamı çalışıyor bunlar? Visual Basic'e benziyor biraz. Ayrıca help dosyası çok iyi hazırlanmış. Herşey bulunabiliyor. Quote Link to comment Share on other sites More sharing options...
guven_memo Posted January 10, 2009 Share Posted January 10, 2009 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?) Quote Link to comment Share on other sites More sharing options...
peerfen Posted January 10, 2009 Share Posted January 10, 2009 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 Quote Link to comment Share on other sites More sharing options...
guven_memo Posted January 10, 2009 Share Posted January 10, 2009 (edited) 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 January 10, 2009 by guven_memo Quote Link to comment Share on other sites More sharing options...
blue_life Posted January 11, 2009 Share Posted January 11, 2009 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. 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 $nMsgCase $GUI_EVENT_CLOSE ExitCase $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 EndSelectCase $Button3 GUICtrlSetState($Checkbox1,$GUI_UNCHECKED) GUICtrlSetState($Checkbox2,$GUI_UNCHECKED)EndSwitchWEnd[/CODE] Quote Link to comment Share on other sites More sharing options...
guven_memo Posted January 12, 2009 Share Posted January 12, 2009 (edited) 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 ) Case $Button2if GUICtrlSetState($Checkbox1,$gui_checked) then$iMsgBoxAnswer=MsgBox(4,"Bilgi","Seçili Programlar Çalıştırılsın mı?") Select case $iMsgBoxAnswer=6if GUICtrlRead($Checkbox1)=1 then Run("Calc.exe")if GUICtrlRead($Checkbox2)=1 then Run("Regedit.exe")EndSelectEndif[/CODE] Edited January 12, 2009 by guven_memo Quote Link to comment Share on other sites More sharing options...
blackman12 Posted January 12, 2009 Share Posted January 12, 2009 #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 $nMsgCase $GUI_EVENT_CLOSE ExitCase $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 endifCase $Button3 GUICtrlSetState($Checkbox1,$GUI_UNCHECKED) GUICtrlSetState($Checkbox2,$GUI_UNCHECKED)EndSwitchWEnd[/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... Quote Link to comment Share on other sites More sharing options...
guven_memo Posted January 12, 2009 Share Posted January 12, 2009 (edited) İ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. Edited January 12, 2009 by guven_memo Quote Link to comment Share on other sites More sharing options...
blue_life Posted January 13, 2009 Share Posted January 13, 2009 İ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 $nMsgCase $GUI_EVENT_CLOSE ExitCase $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 EndIfCase $Button3 GUICtrlSetState($Checkbox1,$GUI_UNCHECKED) GUICtrlSetState($Checkbox2,$GUI_UNCHECKED)EndSwitchWEnd[/CODE] Gördüğün üzere ufak bir ek ile sorun kolaylıkla çözülüyor...... Quote Link to comment Share on other sites More sharing options...
guven_memo Posted January 13, 2009 Share Posted January 13, 2009 Blue_life sen bu işi biliyorsun hee.Gerçekten tebrik ederim seni.Kaçıncı cevaplayışın.Teşekkürler tekrar. Quote Link to comment Share on other sites More sharing options...
morning Posted January 20, 2009 Share Posted January 20, 2009 (edited) AutoIt'te Vista Aero Glass GUI'ler oluşturmak (NOT : Sadece Windows Vista'da çalışmaktadır.) Ö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 <> "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 ;==>_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 <> "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 ;==>_Vista_ApplyGlassArea Daha sonra aynı klasörde kendi AutoIt dosyanızı oluşturun.İstediğiniz gibi düzenleyin GUI'yi. #include <GUIConstants.au3> #include <Vista.au3> 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 January 20, 2009 by morning Quote Link to comment Share on other sites More sharing options...
morning Posted January 22, 2009 Share Posted January 22, 2009 (edited) 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 <GUIConstants.au3> #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 ;==>_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" & $PCsecim & "secti." & @CRLF & "Bilgisayarla berabere kaldiniz.") _restart() 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 _restart() 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 _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 January 22, 2009 by morning Quote Link to comment Share on other sites More sharing options...
blue_life Posted January 23, 2009 Share Posted January 23, 2009 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 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 Quote Link to comment Share on other sites More sharing options...
crazy_pretty_murat Posted January 23, 2009 Share Posted January 23, 2009 (edited) 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 January 23, 2009 by crazy_pretty_murat Quote Link to comment Share on other sites More sharing options...
morning Posted January 23, 2009 Share Posted January 23, 2009 (edited) 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 January 23, 2009 by morning Quote Link to comment Share on other sites More sharing options...
blackman12 Posted January 23, 2009 Share Posted January 23, 2009 tam 6.0 olması lazım vista gibi bir sürümse yani uzun bir sürümse başka bir yol vermem gerekir söyleyeyim $ver = FileGetVersion("calc.exe") if $ver = "6.0" then Filedelete("calc.exe") else Exit endif Quote Link to comment Share on other sites More sharing options...
crazy_pretty_murat Posted January 23, 2009 Share Posted January 23, 2009 Tamam oldu çok teşekkürler blackman12.Birşey daha isteyecem.Dosyasının boyutuna göre silebilirmiyim.Mesela 204 KB ise silsin.Değilse silmesin.Böyle birşey mümkün mü acaba? Quote Link to comment Share on other sites More sharing options...
blackman12 Posted January 23, 2009 Share Posted January 23, 2009 $file = "calc.exe" $size = FileGetSize($file) if $size = 208896 Then FileDelete($file) Else Exit EndIf Quote Link to comment Share on other sites More sharing options...
blue_life Posted January 24, 2009 Share Posted January 24, 2009 Bir oyunda ben karaladım. Umarım Beğenirsiniz. Oyunun adı beni yakala. Amaç Beni yakala tuşuna fare ile basmak. Ama hile yok . 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 ;~ Karalayan Blue_LifeGlobal 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ı ayarlaWEndExit[/CODE] Örnek2: Biraz daha iyi.... Ama biraz edit gerekebilir. [CODE];~ Karalayan Blue_LifeGlobal Const $GuiKapat = -3Global $BlTitle = "Beni Yakala2 - BlueLife"Global $Random1 = 210,$Random2 = 135Global $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? :)")WEndExit[/CODE] Kendin editleyerek daha güzel bir şey yapabilirsiniz. Mesela buton yerine ilgi çekici bir resim olabilir. Quote Link to comment Share on other sites More sharing options...
peerfen Posted January 25, 2009 Share Posted January 25, 2009 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") Quote Link to comment Share on other sites More sharing options...
blackman12 Posted January 25, 2009 Share Posted January 25, 2009 (edited) Ö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 January 25, 2009 by blackman12 Quote Link to comment Share on other sites More sharing options...
blue_life Posted January 25, 2009 Share Posted January 25, 2009 Ben ProgressSet li bir kurlum yapamya calistim yanliz bir sorunum varmesela 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. ExitWEnd[/CODE] Quote Link to comment Share on other sites More sharing options...
peerfen Posted January 25, 2009 Share Posted January 25, 2009 @blue_life arkadasim verdigin örnek icin cok tesekkür ederim cok isime yaradi bu aramizda senin gibi bu isi profsyonel sekilde bilen birinin olmasi cok güzel Quote Link to comment Share on other sites More sharing options...
morning Posted January 26, 2009 Share Posted January 26, 2009 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. 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.