x_files_x Posted July 23, 2013 Share Posted July 23, 2013 Mrb arkadaşlar üzerinde çalıştıgım bir program var herşeyi tamamladım tam bitti dedigim anda bişilerin ters oldugunu anladım, ben işlemi tamamla diyip görevi başlattıgım anda vazgeç butonuna basıyom ama işlkem durmuyor, yani başlattıgım fonksiyonu durruran bir buton lazım, Geri sayım icin yaptım ama digerleri icin calısmıyor, örnegi vereyim ne kolayı öyle anlatmıs olurum #include <ButtonConstants.au3> #include <ComboConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <Misc.au3> Opt("GUIOnEventMode", 1) #Region ### START Koda GUI section ### Form=c:\documents and settings\adem.sezgin\desktop\smart tools.kxf $Form1_1 = GUICreate("Smart Tools", 479, 168, 192, 134) GUISetBkColor(0x9DB9EB) GUISetOnEvent($GUI_EVENT_CLOSE, "Form1_1Close") $combo1 = GUICtrlCreateCombo("", 144, 32, 129, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) $var = WinList() For $i = 1 to $var[0][0] ; Only display visble windows that have a title GUICtrlSetOnEvent($combo1, "Combo1Change") ;combo görevi If $var[$i][0] <> "" AND IsVisible($var[$i][1]) Then ;eger pencereler varsa GUICtrlSetData(-1, $var[$i][0], "") ;bunu comboya ekle EndIf Next ControlDisable("Smart Tools", "", $combo1) ;combo1i kapattık $input1 = GUICtrlCreateInput("1", 144, 64, 41, 21) GUICtrlCreateUpdown($input1) ;yukarı asagı görevi ControlDisable("Smart Tools", "", $input1) ;input1 de kapattık $Group1 = GUICtrlCreateGroup("Beklenilen İşlem", 8, 8, 273, 153) GUICtrlSetFont(-1, 12, 400, 0, "Arial") $Radio4 = GUICtrlCreateRadio("Pencere Kapanırsa", 16, 32, 113, 17) GUICtrlSetOnEvent(-1, "Radio4Click") $Radio5 = GUICtrlCreateRadio("Geri Sayım Biterse", 16, 64, 105, 17) GUICtrlSetOnEvent(-1, "Radio5Click") $Button2 = GUICtrlCreateButton("İşlemi Tamamla", 14, 105, 190, 45) GUICtrlSetFont(-1, 14, 400, 0, "Arial") GUICtrlSetOnEvent(-1, "Button2Click") $Button3 = GUICtrlCreateButton("Vazgeç", 205, 105, 70, 45) GUICtrlSetFont(-1, 14, 400, 0, "Arial") GUICtrlSetOnEvent(-1, "Button3Click") GUICtrlCreateGroup("", -99, -99, 1, 1) $Group2 = GUICtrlCreateGroup("Yapılacak İşlem", 288, 8, 185, 153) GUICtrlSetFont(-1, 12, 400, 0, "Arial") $Radio1 = GUICtrlCreateRadio("Yeniden Başlat", 296, 32, 97, 17) $Radio2 = GUICtrlCreateRadio("Kapat", 296, 56, 73, 17) $Radio3 = GUICtrlCreateRadio("Uyku Modu", 296, 80, 81, 17) $Radio6 = GUICtrlCreateRadio("Program / Müzik Başlat", 296, 104, 145, 17) GUICtrlSetOnEvent(-1, "Radio6Click") $Input2 = GUICtrlCreateInput("", 296, 128, 169, 21) GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### Local $hDLL = DllOpen("user32.dll") While 1 Sleep(100) WEnd Func Button2Click() if GuiCtrlread($Radio4) = $GUI_CHECKED And GuiCtrlread($Radio1) = $GUI_CHECKED Then ;radio 4 ve 6 işaretrliyse $oku = GUICtrlRead($combo1) WinWaitClose($oku) Shutdown(2) EndIf if GuiCtrlread($Radio4) = $GUI_CHECKED And GuiCtrlread($Radio2) = $GUI_CHECKED Then $oku = GUICtrlRead($combo1) WinWaitClose($oku) Shutdown(1) EndIf if GuiCtrlread($Radio4) = $GUI_CHECKED And GuiCtrlread($Radio3) = $GUI_CHECKED Then $oku = GUICtrlRead($combo1) WinWaitClose($oku) Shutdown(32) EndIf if GuiCtrlread($Radio4) = $GUI_CHECKED And GuiCtrlread($Radio6) = $GUI_CHECKED Then;radio 4 ve 6 işaretrliyse $oku = GUICtrlRead($combo1) WinWaitClose($oku) $oku2 = GUICtrlRead($Input2) ShellExecute($oku2) EndIf if GuiCtrlread($Radio5) = $GUI_CHECKED And GuiCtrlread($Radio6) = $GUI_CHECKED Then ;;;;;;;;;;;;; Local $minute = Number(GUICtrlRead($input1)) If $minute = 0 Then Return 0 Opt("GUIOnEventMode", 0) Local $tm_sec,$t_sec,$t_minute = 0,$timer = TimerInit() While $minute > $t_minute Switch GUIGetMsg() Case -3 Exit Case $Button3 ToolTip("") ControlSetText("Smart Tools" ,"", $input2 ,"") ExitLoop EndSwitch $tm_sec = Int(TimerDiff($timer)) ;milli-seconds $t_sec = Int($tm_sec / 1000) ;seconds $t_minute = Int($t_sec / 60) ;minute ToolTip("Belirlenen Dakika = " & $minute & @CRLF & "Geçen Dakika = " & $t_minute & @CRLF & "Saniye = " & $t_sec & @CRLF & "Mili Saniye = " & $tm_sec, 0, 0, "TimeStartExe", 1) Sleep(25) ;Cpu Save WEnd Local $Return = 0 If $minute <= $t_minute Then Local $f_execute = GUICtrlRead($Input2) $Return = ShellExecute($f_execute) EndIf ToolTip("") Opt("GUIOnEventMode", 1) Return $Return EndIf if GuiCtrlread($Radio5) = $GUI_CHECKED And GuiCtrlread($Radio1) = $GUI_CHECKED Then ;;;;;;;;;;;;; Local $minute = Number(GUICtrlRead($input1)) If $minute = 0 Then Return 0 Opt("GUIOnEventMode", 0) Local $tm_sec,$t_sec,$t_minute = 0,$timer = TimerInit() While $minute > $t_minute Switch GUIGetMsg() Case -3 Exit ;~ Case $Button3 ExitLoop EndSwitch $tm_sec = Int(TimerDiff($timer)) ;milli-seconds $t_sec = Int($tm_sec / 1000) ;seconds $t_minute = Int($t_sec / 60) ;minute ToolTip("Belirlenen Dakika = " & $minute & @CRLF & "Geçen Dakika = " & $t_minute & @CRLF & "Saniye = " & $t_sec & @CRLF & "Mili Saniye = " & $tm_sec, 0, 0, "TimeStartExe", 1) Sleep(25) ;Cpu Save WEnd Local $Return = 0 If $minute <= $t_minute Then Shutdown(2) EndIf ToolTip("") Opt("GUIOnEventMode", 1) Return $Return EndIf if GuiCtrlread($Radio5) = $GUI_CHECKED And GuiCtrlread($Radio2) = $GUI_CHECKED Then ;;;;;;;;;;;;; Local $minute = Number(GUICtrlRead($input1)) If $minute = 0 Then Return 0 Opt("GUIOnEventMode", 0) Local $tm_sec,$t_sec,$t_minute = 0,$timer = TimerInit() While $minute > $t_minute Switch GUIGetMsg() Case -3 Exit ;~ Case $Button3 ;~ ToolTip("") ;~ ControlSetText("TimeStartExe" ,"", $input1 ,"") ExitLoop EndSwitch $tm_sec = Int(TimerDiff($timer)) ;milli-seconds $t_sec = Int($tm_sec / 1000) ;seconds $t_minute = Int($t_sec / 60) ;minute ToolTip("Belirlenen Dakika = " & $minute & @CRLF & "Geçen Dakika = " & $t_minute & @CRLF & "Saniye = " & $t_sec & @CRLF & "Mili Saniye = " & $tm_sec, 0, 0, "TimeStartExe", 1) Sleep(25) ;Cpu Save WEnd Local $Return = 0 If $minute <= $t_minute Then Shutdown(1) EndIf ToolTip("") Opt("GUIOnEventMode", 1) Return $Return EndIf if GuiCtrlread($Radio5) = $GUI_CHECKED And GuiCtrlread($Radio3) = $GUI_CHECKED Then ;;;;;;;;;;;;; Local $minute = Number(GUICtrlRead($input1)) If $minute = 0 Then Return 0 Opt("GUIOnEventMode", 0) Local $tm_sec,$t_sec,$t_minute = 0,$timer = TimerInit() While $minute > $t_minute Switch GUIGetMsg() Case -3 Exit ;~ Case $Button3 ;~ ToolTip("") ;~ ControlSetText("TimeStartExe" ,"", $input1 ,"") ExitLoop EndSwitch $tm_sec = Int(TimerDiff($timer)) ;milli-seconds $t_sec = Int($tm_sec / 1000) ;seconds $t_minute = Int($t_sec / 60) ;minute ToolTip("Belirlenen Dakika = " & $minute & @CRLF & "Geçen Dakika = " & $t_minute & @CRLF & "Saniye = " & $t_sec & @CRLF & "Mili Saniye = " & $tm_sec, 0, 0, "TimeStartExe", 1) Sleep(25) ;Cpu Save WEnd Local $Return = 0 If $minute <= $t_minute Then Shutdown(32) EndIf ToolTip("") Opt("GUIOnEventMode", 1) Return $Return EndIf EndFunc; buton görevinin bitişi Func Form1_1Close() exit 0 EndFunc Func Radio4Click() ControlEnable("Smart Tools", "", $combo1) ControlDisable("Smart Tools", "", $input1) EndFunc Func Radio5Click() ControlEnable("Smart Tools", "", $input1) ControlDisable("Smart Tools", "", $combo1) EndFunc Func Combo1Change() EndFunc Func Button3Click() EndFunc Func Radio6Click() Local $FileSelect = FileOpenDialog("TimeStartExe", @DesktopDir, "Program (*.exe)|Müzik (*.mp3)", 3,"",$Form1_1) If @error Then Return SetError(1, 0, 0) GUICtrlSetData($Input2,$FileSelect) EndFunc Func IsVisible($handle) If BitAND(WinGetState($handle), 2) Then Return 1 Else Return 0 EndIf EndFunc ;==>IsVisible Quote Link to comment Share on other sites More sharing options...
Lokenn Posted July 23, 2013 Share Posted July 23, 2013 Başlamış bir fonksiyonu yarıda kes diye bir komut yok ancak komutları birleştirerek benzeri şeyleri yapabiliriz Örnek ; #include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <StaticConstants.au3> #include <WindowsConstants.au3> Local $Time = @HOUR &":"& @MIN &":"& @SEC Local $Button1,$Button2 #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("GUI", 157, 52, 192, 124) $Button1 = GUICtrlCreateButton("Başla", 0, 0, 75, 25) $Button2 = GUICtrlCreateButton("Durdur", 80, 0, 75, 25) $Label1 = GUICtrlCreateLabel($Time, 64, 32, 75, 17) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $Button1 DurduralacakFonksiyon() EndSwitch WEnd Func DurduralacakFonksiyon() While 1 $Time =@HOUR &":"& @MIN &":"& @SEC GUICtrlSetData($Label1,$Time) Sleep(10) $nMsg = GUIGetMsg() Switch $nMsg Case $Button2 ExitLoop EndSwitch WEnd EndFunc Quote Link to comment Share on other sites More sharing options...
reyiz Posted July 23, 2013 Share Posted July 23, 2013 (edited) Program bir fonksiyonu işlediği için diğer komutlar çalışmayabilir. Geri sayımı gui ile aynı döngü içerisine eklerseniz sorun çözülecektir.http://www.tnctr.com/topic/225348-geri-ve-yleri-sayym-oernedhi/page-1 Sürenin sürekli olarak çalışmaması için, sürenin başlatılmış olup olmadığını kontrol edebilirsiniz. Örneğimi inceleyiniz. Edited July 23, 2013 by reyiz Quote Link to comment Share on other sites More sharing options...
x_files_x Posted July 24, 2013 Author Share Posted July 24, 2013 Geri sayımda sorun yok ama pencerenin kapatılmasını bekle ve seçtigin işlemi yap dedigimde, pencereyi bekliyor, iptal da edinmiyor kapatılmıyor da, bunu yapmam lazım Quote Link to comment Share on other sites More sharing options...
reyiz Posted July 24, 2013 Share Posted July 24, 2013 Pencereyi beklemek yerine pencerenin açılıp açılmadığını kontrol et ve bunu döngüye ekle. Örn. If WinExists("Google Chrome") Then shutdown() EndIf Quote Link to comment Share on other sites More sharing options...
x_files_x Posted July 24, 2013 Author Share Posted July 24, 2013 ama pencereyi beklemek derken pencerenin kapatılmasını beklemek demek istedim, winwaitclose fonksiyonu yani Quote Link to comment Share on other sites More sharing options...
reyiz Posted July 24, 2013 Share Posted July 24, 2013 O zaman böyle bir komut kullanacaksınız: If Not WinExists("Google Chrome") Then shutdown() EndIf Quote Link to comment Share on other sites More sharing options...
x_files_x Posted July 25, 2013 Author Share Posted July 25, 2013 örnekte düzenleyip yapsak olurmu, ben yapamadım cünkü Quote Link to comment Share on other sites More sharing options...
reyiz Posted July 25, 2013 Share Posted July 25, 2013 (edited) Söylediğimi yaptım ama vazgeç butonunu düzeltemedim. Her işlem için birbirinin içine geçmiş fonksiyonlar kullanmışsın ve kodlar çok karışmış. Sayaç örneğimdeki gibi komutları Select Case üzerinden yapsaydın çok daha basit bir kod ortaya çıkardı. Eski proje üzerinden düzeltmeye çalışma çünkü söylediğim gibi WinWaitClose fonksiyonu diğer kodların çalışmasını engeller. [spoiler] #include <ButtonConstants.au3> #include <ComboConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <Misc.au3> Opt("GUIOnEventMode", 1) #Region ### START Koda GUI section ### Form=c:\documents and settings\adem.sezgin\desktop\smart tools.kxf $Form1_1 = GUICreate("Smart Tools", 479, 168, 192, 134) Global $pencerebekle, $oku GUISetBkColor(0x9DB9EB) GUISetOnEvent($GUI_EVENT_CLOSE, "Form1_1Close") $combo1 = GUICtrlCreateCombo("", 144, 32, 129, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) $var = WinList() For $i = 1 to $var[0][0] ; Only display visble windows that have a title GUICtrlSetOnEvent($combo1, "Combo1Change") ;combo görevi If $var[$i][0] <> "" AND IsVisible($var[$i][1]) Then ;eger pencereler varsa GUICtrlSetData(-1, $var[$i][0], "") ;bunu comboya ekle EndIf Next ControlDisable("Smart Tools", "", $combo1) ;combo1i kapattık $input1 = GUICtrlCreateInput("1", 144, 64, 41, 21) GUICtrlCreateUpdown($input1) ;yukarı asagı görevi ControlDisable("Smart Tools", "", $input1) ;input1 de kapattık $Group1 = GUICtrlCreateGroup("Beklenilen İşlem", 8, 8, 273, 153) GUICtrlSetFont(-1, 12, 400, 0, "Arial") $Radio4 = GUICtrlCreateRadio("Pencere Kapanırsa", 16, 32, 113, 17) GUICtrlSetOnEvent(-1, "Radio4Click") $Radio5 = GUICtrlCreateRadio("Geri Sayım Biterse", 16, 64, 105, 17) GUICtrlSetOnEvent(-1, "Radio5Click") $Button2 = GUICtrlCreateButton("İşlemi Tamamla", 14, 105, 190, 45) GUICtrlSetFont(-1, 14, 400, 0, "Arial") GUICtrlSetOnEvent(-1, "Button2Click") Global $Button3 = GUICtrlCreateButton("Vazgeç", 205, 105, 70, 45) GUICtrlSetFont(-1, 14, 400, 0, "Arial") GUICtrlSetOnEvent(-1, "Button3Click") GUICtrlCreateGroup("", -99, -99, 1, 1) $Group2 = GUICtrlCreateGroup("Yapılacak İşlem", 288, 8, 185, 153) GUICtrlSetFont(-1, 12, 400, 0, "Arial") $Radio1 = GUICtrlCreateRadio("Yeniden Başlat", 296, 32, 97, 17) $Radio2 = GUICtrlCreateRadio("Kapat", 296, 56, 73, 17) $Radio3 = GUICtrlCreateRadio("Uyku Modu", 296, 80, 81, 17) $Radio6 = GUICtrlCreateRadio("Program / Müzik Başlat", 296, 104, 145, 17) GUICtrlSetOnEvent(-1, "Radio6Click") $Input2 = GUICtrlCreateInput("", 296, 128, 169, 21) GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### Global $hDLL = DllOpen("user32.dll") Func Button2Click() GUICtrlSetState($Button2, $GUI_DISABLE) GUICtrlSetState($Radio1, $GUI_DISABLE) GUICtrlSetState($Radio2, $GUI_DISABLE) GUICtrlSetState($Radio3, $GUI_DISABLE) GUICtrlSetState($Radio4, $GUI_DISABLE) GUICtrlSetState($Radio5, $GUI_DISABLE) GUICtrlSetState($Radio6, $GUI_DISABLE) GUICtrlSetState($combo1, $GUI_DISABLE) if GuiCtrlread($Radio4) = $GUI_CHECKED Then $oku = GUICtrlRead($combo1) $pencerebekle = 1 EndIf if GuiCtrlread($Radio5) = $GUI_CHECKED And GuiCtrlread($Radio6) = $GUI_CHECKED Then ;;;;;;;;;;;;; Global $minute = Number(GUICtrlRead($input1)) If $minute = 0 Then Return 0 Opt("GUIOnEventMode", 0) Global $tm_sec,$t_sec,$t_minute = 0,$timer = TimerInit() While $minute > $t_minute $msg = GUIGetMsg() Select Case $Button3 $pencerebekle = 0 GUICtrlSetState($Button2, $GUI_ENABLE) GUICtrlSetState($Radio1, $GUI_ENABLE) GUICtrlSetState($Radio2, $GUI_ENABLE) GUICtrlSetState($Radio3, $GUI_ENABLE) GUICtrlSetState($Radio4, $GUI_ENABLE) GUICtrlSetState($Radio5, $GUI_ENABLE) GUICtrlSetState($Radio6, $GUI_ENABLE) GUICtrlSetState($combo1, $GUI_ENABLE) ToolTip("") ControlSetText("Smart Tools" ,"", $input2 ,"") ExitLoop Case -3 Exit EndSelect $tm_sec = Int(TimerDiff($timer)) ;milli-seconds $t_sec = Int($tm_sec / 1000) ;seconds $t_minute = Int($t_sec / 60) ;minute ToolTip("Belirlenen Dakika = " & $minute & @CRLF & "Geçen Dakika = " & $t_minute & @CRLF & "Saniye = " & $t_sec & @CRLF & "Mili Saniye = " & $tm_sec, 0, 0, "TimeStartExe", 1) Sleep(25) ;Cpu Save WEnd Global $Return = 0 If $minute <= $t_minute Then Global $f_execute = GUICtrlRead($Input2) $Return = ShellExecute($f_execute) EndIf ToolTip("") Opt("GUIOnEventMode", 1) Return $Return EndIf if GuiCtrlread($Radio5) = $GUI_CHECKED And GuiCtrlread($Radio1) = $GUI_CHECKED Then ;;;;;;;;;;;;; Global $minute = Number(GUICtrlRead($input1)) If $minute = 0 Then Return 0 Opt("GUIOnEventMode", 0) Global $tm_sec,$t_sec,$t_minute = 0,$timer = TimerInit() While $minute > $t_minute Switch GUIGetMsg() Case -3 Exit ;~ Case $Button3 ExitLoop EndSwitch $tm_sec = Int(TimerDiff($timer)) ;milli-seconds $t_sec = Int($tm_sec / 1000) ;seconds $t_minute = Int($t_sec / 60) ;minute ToolTip("Belirlenen Dakika = " & $minute & @CRLF & "Geçen Dakika = " & $t_minute & @CRLF & "Saniye = " & $t_sec & @CRLF & "Mili Saniye = " & $tm_sec, 0, 0, "TimeStartExe", 1) Sleep(25) ;Cpu Save WEnd Global $Return = 0 If $minute <= $t_minute Then Shutdown(2) EndIf ToolTip("") Opt("GUIOnEventMode", 1) Return $Return EndIf if GuiCtrlread($Radio5) = $GUI_CHECKED And GuiCtrlread($Radio2) = $GUI_CHECKED Then ;;;;;;;;;;;;; Global $minute = Number(GUICtrlRead($input1)) If $minute = 0 Then Return 0 Opt("GUIOnEventMode", 0) Global $tm_sec,$t_sec,$t_minute = 0,$timer = TimerInit() While $minute > $t_minute Switch GUIGetMsg() Case -3 Exit ;~ Case $Button3 ;~ ToolTip("") ;~ ControlSetText("TimeStartExe" ,"", $input1 ,"") ExitLoop EndSwitch $tm_sec = Int(TimerDiff($timer)) ;milli-seconds $t_sec = Int($tm_sec / 1000) ;seconds $t_minute = Int($t_sec / 60) ;minute ToolTip("Belirlenen Dakika = " & $minute & @CRLF & "Geçen Dakika = " & $t_minute & @CRLF & "Saniye = " & $t_sec & @CRLF & "Mili Saniye = " & $tm_sec, 0, 0, "TimeStartExe", 1) Sleep(25) ;Cpu Save WEnd Global $Return = 0 If $minute <= $t_minute Then Shutdown(1) EndIf ToolTip("") Opt("GUIOnEventMode", 1) Return $Return EndIf if GuiCtrlread($Radio5) = $GUI_CHECKED And GuiCtrlread($Radio3) = $GUI_CHECKED Then ;;;;;;;;;;;;; Global $minute = Number(GUICtrlRead($input1)) If $minute = 0 Then Return 0 Opt("GUIOnEventMode", 0) Global $tm_sec,$t_sec,$t_minute = 0,$timer = TimerInit() While $minute > $t_minute Switch GUIGetMsg() Case -3 Exit ;~ Case $Button3 ;~ ToolTip("") ;~ ControlSetText("TimeStartExe" ,"", $input1 ,"") ExitLoop EndSwitch $tm_sec = Int(TimerDiff($timer)) ;milli-seconds $t_sec = Int($tm_sec / 1000) ;seconds $t_minute = Int($t_sec / 60) ;minute ToolTip("Belirlenen Dakika = " & $minute & @CRLF & "Geçen Dakika = " & $t_minute & @CRLF & "Saniye = " & $t_sec & @CRLF & "Mili Saniye = " & $tm_sec, 0, 0, "TimeStartExe", 1) Sleep(25) ;Cpu Save WEnd Global $Return = 0 If $minute <= $t_minute Then Shutdown(32) EndIf ToolTip("") Opt("GUIOnEventMode", 1) Return $Return EndIf EndFunc; buton görevinin bitişi Func Form1_1Close() exit 0 EndFunc Func Radio4Click() ControlEnable("Smart Tools", "", $combo1) ControlDisable("Smart Tools", "", $input1) EndFunc Func Radio5Click() ControlEnable("Smart Tools", "", $input1) ControlDisable("Smart Tools", "", $combo1) EndFunc Func Combo1Change() EndFunc Func Button3Click() EndFunc Func Radio6Click() Global $FileSelect = FileOpenDialog("TimeStartExe", @DesktopDir, "Program (*.exe)|Müzik (*.mp3)", 3,"",$Form1_1) If @error Then Return SetError(1, 0, 0) GUICtrlSetData($Input2,$FileSelect) EndFunc Func IsVisible($handle) If BitAND(WinGetState($handle), 2) Then Return 1 Else Return 0 EndIf EndFunc ;==>IsVisible While 1 If $pencerebekle = 1 Then Switch GUIGetMsg() Case $Button3 ConsoleWrite(1) $pencerebekle = 0 GUICtrlSetState($Button2, $GUI_ENABLE) GUICtrlSetState($Radio1, $GUI_ENABLE) GUICtrlSetState($Radio2, $GUI_ENABLE) GUICtrlSetState($Radio3, $GUI_ENABLE) GUICtrlSetState($Radio4, $GUI_ENABLE) GUICtrlSetState($Radio5, $GUI_ENABLE) GUICtrlSetState($Radio6, $GUI_ENABLE) GUICtrlSetState($combo1, $GUI_ENABLE) ToolTip("") ControlSetText("Smart Tools" ,"", $input2 ,"") ExitLoop EndSwitch If Not WinExists($oku) Then if GuiCtrlread($Radio4) = $GUI_CHECKED And GuiCtrlread($Radio1) = $GUI_CHECKED Then Shutdown(2) EndIf if GuiCtrlread($Radio2) = $GUI_CHECKED Then Shutdown(1) EndIf if GuiCtrlread($Radio3) = $GUI_CHECKED Then Shutdown(32) EndIf if GuiCtrlread($Radio6) = $GUI_CHECKED Then $oku2 = GUICtrlRead($Input2) ShellExecute($oku2) EndIf GUICtrlSetState($Button2, $GUI_ENABLE) GUICtrlSetState($Radio1, $GUI_ENABLE) GUICtrlSetState($Radio2, $GUI_ENABLE) GUICtrlSetState($Radio3, $GUI_ENABLE) GUICtrlSetState($Radio4, $GUI_ENABLE) GUICtrlSetState($Radio5, $GUI_ENABLE) GUICtrlSetState($Radio6, $GUI_ENABLE) GUICtrlSetState($combo1, $GUI_ENABLE) $pencerebekle = 0 EndIf EndIf WEnd [/spoiler] Edited July 25, 2013 by reyiz Quote Link to comment Share on other sites More sharing options...
Lokenn Posted July 25, 2013 Share Posted July 25, 2013 Bu işini görür umarım ; #include <ButtonConstants.au3> #include <ComboConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <Misc.au3> #include <Misc.au3> Opt("GUIOnEventMode", 1) #Region ### START Koda GUI section ### Form=c:\documents and settings\adem.sezgin\desktop\smart tools.kxf $Form1_1 = GUICreate("Smart Tools", 479, 168, 192, 134) GUISetBkColor(0x9DB9EB) GUISetOnEvent($GUI_EVENT_CLOSE, "Form1_1Close") $combo1 = GUICtrlCreateCombo("", 144, 32, 129, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) $var = WinList() For $i = 1 to $var[0][0] ; Only display visble windows that have a title GUICtrlSetOnEvent($combo1, "Combo1Change") ;combo görevi If $var[$i][0] <> "" AND IsVisible($var[$i][1]) Then ;eger pencereler varsa GUICtrlSetData(-1, $var[$i][0], "") ;bunu comboya ekle EndIf Next ControlDisable("Smart Tools", "", $combo1) ;combo1i kapattık $input1 = GUICtrlCreateInput("1", 144, 64, 41, 21) GUICtrlCreateUpdown($input1) ;yukarı asagı görevi ControlDisable("Smart Tools", "", $input1) ;input1 de kapattık $Group1 = GUICtrlCreateGroup("Beklenilen İşlem", 8, 8, 273, 153) GUICtrlSetFont(-1, 12, 400, 0, "Arial") $Radio4 = GUICtrlCreateRadio("Pencere Kapanırsa", 16, 32, 113, 17) GUICtrlSetOnEvent(-1, "Radio4Click") $Radio5 = GUICtrlCreateRadio("Geri Sayım Biterse", 16, 64, 105, 17) GUICtrlSetOnEvent(-1, "Radio5Click") $Button2 = GUICtrlCreateButton("İşlemi Tamamla", 14, 105, 190, 45) GUICtrlSetFont(-1, 14, 400, 0, "Arial") GUICtrlSetOnEvent(-1, "Button2Click") $Button3 = GUICtrlCreateButton("Vazgeç", 205, 105, 70, 45) GUICtrlSetFont(-1, 14, 400, 0, "Arial") GUICtrlSetOnEvent(-1, "Button3Click") GUICtrlCreateGroup("", -99, -99, 1, 1) $Group2 = GUICtrlCreateGroup("Yapılacak İşlem", 288, 8, 185, 153) GUICtrlSetFont(-1, 12, 400, 0, "Arial") $Radio1 = GUICtrlCreateRadio("Yeniden Başlat", 296, 32, 97, 17) $Radio2 = GUICtrlCreateRadio("Kapat", 296, 56, 73, 17) $Radio3 = GUICtrlCreateRadio("Uyku Modu", 296, 80, 81, 17) $Radio6 = GUICtrlCreateRadio("Program / Müzik Başlat", 296, 104, 145, 17) GUICtrlSetOnEvent(-1, "Radio6Click") $Input2 = GUICtrlCreateInput("", 296, 128, 169, 21) GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### Local $hDLL = DllOpen("user32.dll") While 1 Sleep(100) WEnd Func Button2Click() if GuiCtrlread($Radio4) = $GUI_CHECKED And GuiCtrlread($Radio1) = $GUI_CHECKED Then ;radio 4 ve 6 işaretrliyse $oku = GUICtrlRead($combo1) While 1 Local $hDLL = DllOpen("user32.dll") If _IsPressed("10", $hDLL) Then DllClose($hDLL) ExitLoop EndIf WinWaitClose($oku) Shutdown(2) WEnd EndIf if GuiCtrlread($Radio4) = $GUI_CHECKED And GuiCtrlread($Radio2) = $GUI_CHECKED Then $oku = GUICtrlRead($combo1) WinWaitClose($oku) Shutdown(1) EndIf if GuiCtrlread($Radio4) = $GUI_CHECKED And GuiCtrlread($Radio3) = $GUI_CHECKED Then $oku = GUICtrlRead($combo1) WinWaitClose($oku) Shutdown(32) EndIf if GuiCtrlread($Radio4) = $GUI_CHECKED And GuiCtrlread($Radio6) = $GUI_CHECKED Then;radio 4 ve 6 işaretrliyse $oku = GUICtrlRead($combo1) WinWaitClose($oku) $oku2 = GUICtrlRead($Input2) ShellExecute($oku2) EndIf if GuiCtrlread($Radio5) = $GUI_CHECKED And GuiCtrlread($Radio6) = $GUI_CHECKED Then ;;;;;;;;;;;;; Local $minute = Number(GUICtrlRead($input1)) If $minute = 0 Then Return 0 Opt("GUIOnEventMode", 0) Local $tm_sec,$t_sec,$t_minute = 0,$timer = TimerInit() Local $hDLL = DllOpen("user32.dll") While $minute > $t_minute Switch GUIGetMsg() Case -3 Exit Case $Button3 ToolTip("") ControlSetText("Smart Tools" ,"", $input2 ,"") ExitLoop EndSwitch $tm_sec = Int(TimerDiff($timer)) ;milli-seconds $t_sec = Int($tm_sec / 1000) ;seconds $t_minute = Int($t_sec / 60) ;minute ToolTip("Belirlenen Dakika = " & $minute & @CRLF & "Geçen Dakika = " & $t_minute & @CRLF & "Saniye = " & $t_sec & @CRLF & "Mili Saniye = " & $tm_sec, 0, 0, "TimeStartExe", 1) Sleep(25) ;Cpu Save WEnd Local $Return = 0 If $minute <= $t_minute Then Local $f_execute = GUICtrlRead($Input2) $Return = ShellExecute($f_execute) EndIf ToolTip("") Opt("GUIOnEventMode", 1) Return $Return EndIf if GuiCtrlread($Radio5) = $GUI_CHECKED And GuiCtrlread($Radio1) = $GUI_CHECKED Then ;;;;;;;;;;;;; Local $minute = Number(GUICtrlRead($input1)) If $minute = 0 Then Return 0 Opt("GUIOnEventMode", 0) Local $tm_sec,$t_sec,$t_minute = 0,$timer = TimerInit() While $minute > $t_minute Switch GUIGetMsg() Case -3 Exit ;~ Case $Button3 ExitLoop EndSwitch $tm_sec = Int(TimerDiff($timer)) ;milli-seconds $t_sec = Int($tm_sec / 1000) ;seconds $t_minute = Int($t_sec / 60) ;minute ToolTip("Belirlenen Dakika = " & $minute & @CRLF & "Geçen Dakika = " & $t_minute & @CRLF & "Saniye = " & $t_sec & @CRLF & "Mili Saniye = " & $tm_sec, 0, 0, "TimeStartExe", 1) Sleep(25) ;Cpu Save WEnd Local $Return = 0 If $minute <= $t_minute Then Shutdown(2) EndIf ToolTip("") Opt("GUIOnEventMode", 1) Return $Return EndIf if GuiCtrlread($Radio5) = $GUI_CHECKED And GuiCtrlread($Radio2) = $GUI_CHECKED Then ;;;;;;;;;;;;; Local $minute = Number(GUICtrlRead($input1)) If $minute = 0 Then Return 0 Opt("GUIOnEventMode", 0) Local $tm_sec,$t_sec,$t_minute = 0,$timer = TimerInit() While $minute > $t_minute Switch GUIGetMsg() Case -3 Exit ;~ Case $Button3 ;~ ToolTip("") ;~ ControlSetText("TimeStartExe" ,"", $input1 ,"") ExitLoop EndSwitch $tm_sec = Int(TimerDiff($timer)) ;milli-seconds $t_sec = Int($tm_sec / 1000) ;seconds $t_minute = Int($t_sec / 60) ;minute ToolTip("Belirlenen Dakika = " & $minute & @CRLF & "Geçen Dakika = " & $t_minute & @CRLF & "Saniye = " & $t_sec & @CRLF & "Mili Saniye = " & $tm_sec, 0, 0, "TimeStartExe", 1) Sleep(25) ;Cpu Save WEnd Local $Return = 0 If $minute <= $t_minute Then Shutdown(1) EndIf ToolTip("") Opt("GUIOnEventMode", 1) Return $Return EndIf if GuiCtrlread($Radio5) = $GUI_CHECKED And GuiCtrlread($Radio3) = $GUI_CHECKED Then ;;;;;;;;;;;;; Local $minute = Number(GUICtrlRead($input1)) If $minute = 0 Then Return 0 Opt("GUIOnEventMode", 0) Local $tm_sec,$t_sec,$t_minute = 0,$timer = TimerInit() While $minute > $t_minute Switch GUIGetMsg() Case -3 Exit ;~ Case $Button3 ;~ ToolTip("") ;~ ControlSetText("TimeStartExe" ,"", $input1 ,"") ExitLoop EndSwitch $tm_sec = Int(TimerDiff($timer)) ;milli-seconds $t_sec = Int($tm_sec / 1000) ;seconds $t_minute = Int($t_sec / 60) ;minute ToolTip("Belirlenen Dakika = " & $minute & @CRLF & "Geçen Dakika = " & $t_minute & @CRLF & "Saniye = " & $t_sec & @CRLF & "Mili Saniye = " & $tm_sec, 0, 0, "TimeStartExe", 1) Sleep(25) ;Cpu Save WEnd Local $Return = 0 If $minute <= $t_minute Then Shutdown(32) EndIf ToolTip("") Opt("GUIOnEventMode", 1) Return $Return EndIf EndFunc; buton görevinin bitişi Func Form1_1Close() exit 0 EndFunc Func Radio4Click() ControlEnable("Smart Tools", "", $combo1) ControlDisable("Smart Tools", "", $input1) EndFunc Func Radio5Click() ControlEnable("Smart Tools", "", $input1) ControlDisable("Smart Tools", "", $combo1) EndFunc Func Combo1Change() EndFunc Func Button3Click() EndFunc Func Radio6Click() Local $FileSelect = FileOpenDialog("TimeStartExe", @DesktopDir, "Program (*.exe)|Müzik (*.mp3)", 3,"",$Form1_1) If @error Then Return SetError(1, 0, 0) GUICtrlSetData($Input2,$FileSelect) EndFunc Func IsVisible($handle) If BitAND(WinGetState($handle), 2) Then Return 1 Else Return 0 EndIf EndFunc ;==>IsVisible Bu işini görür umarım ; #include <ButtonConstants.au3> #include <ComboConstants.au3> #include <EditConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #include <Misc.au3> #include <Misc.au3> Opt("GUIOnEventMode", 1) #Region ### START Koda GUI section ### Form=c:\documents and settings\adem.sezgin\desktop\smart tools.kxf $Form1_1 = GUICreate("Smart Tools", 479, 168, 192, 134) GUISetBkColor(0x9DB9EB) GUISetOnEvent($GUI_EVENT_CLOSE, "Form1_1Close") $combo1 = GUICtrlCreateCombo("", 144, 32, 129, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) $var = WinList() For $i = 1 to $var[0][0] ; Only display visble windows that have a title GUICtrlSetOnEvent($combo1, "Combo1Change") ;combo görevi If $var[$i][0] <> "" AND IsVisible($var[$i][1]) Then ;eger pencereler varsa GUICtrlSetData(-1, $var[$i][0], "") ;bunu comboya ekle EndIf Next ControlDisable("Smart Tools", "", $combo1) ;combo1i kapattık $input1 = GUICtrlCreateInput("1", 144, 64, 41, 21) GUICtrlCreateUpdown($input1) ;yukarı asagı görevi ControlDisable("Smart Tools", "", $input1) ;input1 de kapattık $Group1 = GUICtrlCreateGroup("Beklenilen İşlem", 8, 8, 273, 153) GUICtrlSetFont(-1, 12, 400, 0, "Arial") $Radio4 = GUICtrlCreateRadio("Pencere Kapanırsa", 16, 32, 113, 17) GUICtrlSetOnEvent(-1, "Radio4Click") $Radio5 = GUICtrlCreateRadio("Geri Sayım Biterse", 16, 64, 105, 17) GUICtrlSetOnEvent(-1, "Radio5Click") $Button2 = GUICtrlCreateButton("İşlemi Tamamla", 14, 105, 190, 45) GUICtrlSetFont(-1, 14, 400, 0, "Arial") GUICtrlSetOnEvent(-1, "Button2Click") $Button3 = GUICtrlCreateButton("Vazgeç", 205, 105, 70, 45) GUICtrlSetFont(-1, 14, 400, 0, "Arial") GUICtrlSetOnEvent(-1, "Button3Click") GUICtrlCreateGroup("", -99, -99, 1, 1) $Group2 = GUICtrlCreateGroup("Yapılacak İşlem", 288, 8, 185, 153) GUICtrlSetFont(-1, 12, 400, 0, "Arial") $Radio1 = GUICtrlCreateRadio("Yeniden Başlat", 296, 32, 97, 17) $Radio2 = GUICtrlCreateRadio("Kapat", 296, 56, 73, 17) $Radio3 = GUICtrlCreateRadio("Uyku Modu", 296, 80, 81, 17) $Radio6 = GUICtrlCreateRadio("Program / Müzik Başlat", 296, 104, 145, 17) GUICtrlSetOnEvent(-1, "Radio6Click") $Input2 = GUICtrlCreateInput("", 296, 128, 169, 21) GUICtrlCreateGroup("", -99, -99, 1, 1) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### Local $hDLL = DllOpen("user32.dll") While 1 Sleep(100) WEnd Func Button2Click() if GuiCtrlread($Radio4) = $GUI_CHECKED And GuiCtrlread($Radio1) = $GUI_CHECKED Then ;radio 4 ve 6 işaretrliyse $oku = GUICtrlRead($combo1) While 1 Local $hDLL = DllOpen("user32.dll") If _IsPressed("10", $hDLL) Then DllClose($hDLL) ExitLoop EndIf WinWaitClose($oku) Shutdown(2) WEnd EndIf if GuiCtrlread($Radio4) = $GUI_CHECKED And GuiCtrlread($Radio2) = $GUI_CHECKED Then $oku = GUICtrlRead($combo1) WinWaitClose($oku) Shutdown(1) EndIf if GuiCtrlread($Radio4) = $GUI_CHECKED And GuiCtrlread($Radio3) = $GUI_CHECKED Then $oku = GUICtrlRead($combo1) WinWaitClose($oku) Shutdown(32) EndIf if GuiCtrlread($Radio4) = $GUI_CHECKED And GuiCtrlread($Radio6) = $GUI_CHECKED Then;radio 4 ve 6 işaretrliyse $oku = GUICtrlRead($combo1) WinWaitClose($oku) $oku2 = GUICtrlRead($Input2) ShellExecute($oku2) EndIf if GuiCtrlread($Radio5) = $GUI_CHECKED And GuiCtrlread($Radio6) = $GUI_CHECKED Then ;;;;;;;;;;;;; Local $minute = Number(GUICtrlRead($input1)) If $minute = 0 Then Return 0 Opt("GUIOnEventMode", 0) Local $tm_sec,$t_sec,$t_minute = 0,$timer = TimerInit() Local $hDLL = DllOpen("user32.dll") While $minute > $t_minute Switch GUIGetMsg() Case -3 Exit Case $Button3 ToolTip("") ControlSetText("Smart Tools" ,"", $input2 ,"") ExitLoop EndSwitch $tm_sec = Int(TimerDiff($timer)) ;milli-seconds $t_sec = Int($tm_sec / 1000) ;seconds $t_minute = Int($t_sec / 60) ;minute ToolTip("Belirlenen Dakika = " & $minute & @CRLF & "Geçen Dakika = " & $t_minute & @CRLF & "Saniye = " & $t_sec & @CRLF & "Mili Saniye = " & $tm_sec, 0, 0, "TimeStartExe", 1) Sleep(25) ;Cpu Save WEnd Local $Return = 0 If $minute <= $t_minute Then Local $f_execute = GUICtrlRead($Input2) $Return = ShellExecute($f_execute) EndIf ToolTip("") Opt("GUIOnEventMode", 1) Return $Return EndIf if GuiCtrlread($Radio5) = $GUI_CHECKED And GuiCtrlread($Radio1) = $GUI_CHECKED Then ;;;;;;;;;;;;; Local $minute = Number(GUICtrlRead($input1)) If $minute = 0 Then Return 0 Opt("GUIOnEventMode", 0) Local $tm_sec,$t_sec,$t_minute = 0,$timer = TimerInit() While $minute > $t_minute Switch GUIGetMsg() Case -3 Exit ;~ Case $Button3 ExitLoop EndSwitch $tm_sec = Int(TimerDiff($timer)) ;milli-seconds $t_sec = Int($tm_sec / 1000) ;seconds $t_minute = Int($t_sec / 60) ;minute ToolTip("Belirlenen Dakika = " & $minute & @CRLF & "Geçen Dakika = " & $t_minute & @CRLF & "Saniye = " & $t_sec & @CRLF & "Mili Saniye = " & $tm_sec, 0, 0, "TimeStartExe", 1) Sleep(25) ;Cpu Save WEnd Local $Return = 0 If $minute <= $t_minute Then Shutdown(2) EndIf ToolTip("") Opt("GUIOnEventMode", 1) Return $Return EndIf if GuiCtrlread($Radio5) = $GUI_CHECKED And GuiCtrlread($Radio2) = $GUI_CHECKED Then ;;;;;;;;;;;;; Local $minute = Number(GUICtrlRead($input1)) If $minute = 0 Then Return 0 Opt("GUIOnEventMode", 0) Local $tm_sec,$t_sec,$t_minute = 0,$timer = TimerInit() While $minute > $t_minute Switch GUIGetMsg() Case -3 Exit ;~ Case $Button3 ;~ ToolTip("") ;~ ControlSetText("TimeStartExe" ,"", $input1 ,"") ExitLoop EndSwitch $tm_sec = Int(TimerDiff($timer)) ;milli-seconds $t_sec = Int($tm_sec / 1000) ;seconds $t_minute = Int($t_sec / 60) ;minute ToolTip("Belirlenen Dakika = " & $minute & @CRLF & "Geçen Dakika = " & $t_minute & @CRLF & "Saniye = " & $t_sec & @CRLF & "Mili Saniye = " & $tm_sec, 0, 0, "TimeStartExe", 1) Sleep(25) ;Cpu Save WEnd Local $Return = 0 If $minute <= $t_minute Then Shutdown(1) EndIf ToolTip("") Opt("GUIOnEventMode", 1) Return $Return EndIf if GuiCtrlread($Radio5) = $GUI_CHECKED And GuiCtrlread($Radio3) = $GUI_CHECKED Then ;;;;;;;;;;;;; Local $minute = Number(GUICtrlRead($input1)) If $minute = 0 Then Return 0 Opt("GUIOnEventMode", 0) Local $tm_sec,$t_sec,$t_minute = 0,$timer = TimerInit() While $minute > $t_minute Switch GUIGetMsg() Case -3 Exit ;~ Case $Button3 ;~ ToolTip("") ;~ ControlSetText("TimeStartExe" ,"", $input1 ,"") ExitLoop EndSwitch $tm_sec = Int(TimerDiff($timer)) ;milli-seconds $t_sec = Int($tm_sec / 1000) ;seconds $t_minute = Int($t_sec / 60) ;minute ToolTip("Belirlenen Dakika = " & $minute & @CRLF & "Geçen Dakika = " & $t_minute & @CRLF & "Saniye = " & $t_sec & @CRLF & "Mili Saniye = " & $tm_sec, 0, 0, "TimeStartExe", 1) Sleep(25) ;Cpu Save WEnd Local $Return = 0 If $minute <= $t_minute Then Shutdown(32) EndIf ToolTip("") Opt("GUIOnEventMode", 1) Return $Return EndIf EndFunc; buton görevinin bitişi Func Form1_1Close() exit 0 EndFunc Func Radio4Click() ControlEnable("Smart Tools", "", $combo1) ControlDisable("Smart Tools", "", $input1) EndFunc Func Radio5Click() ControlEnable("Smart Tools", "", $input1) ControlDisable("Smart Tools", "", $combo1) EndFunc Func Combo1Change() EndFunc Func Button3Click() EndFunc Func Radio6Click() Local $FileSelect = FileOpenDialog("TimeStartExe", @DesktopDir, "Program (*.exe)|Müzik (*.mp3)", 3,"",$Form1_1) If @error Then Return SetError(1, 0, 0) GUICtrlSetData($Input2,$FileSelect) EndFunc Func IsVisible($handle) If BitAND(WinGetState($handle), 2) Then Return 1 Else Return 0 EndIf EndFunc ;==>IsVisible Quote Link to comment Share on other sites More sharing options...
reyiz Posted July 25, 2013 Share Posted July 25, 2013 @Lokenn vazgeç butonu yine çalışmıyor. Quote Link to comment Share on other sites More sharing options...
Lokenn Posted July 25, 2013 Share Posted July 25, 2013 Vazgeç butonu mu var :D bende Shift' e basınca durdurulacak şekilde ayarladım bir saniye bakıp yazayım tekrar Quote Link to comment Share on other sites More sharing options...
reyiz Posted July 25, 2013 Share Posted July 25, 2013 Shift'e basınca yine bir şey değişmiyor. AyrIca Shift nereden çıktı? Quote Link to comment Share on other sites More sharing options...
Lokenn Posted July 25, 2013 Share Posted July 25, 2013 İşten çıkıyorum suanda eve gidince yapacağım Quote Link to comment Share on other sites More sharing options...
x_files_x Posted July 25, 2013 Author Share Posted July 25, 2013 @Reyiz ben acemiyim bildigim şeyler kısıtlı, swish dedigin şeyi nasıl kullanıcam onu bile bilmiyom select filan, keşke bilseydim, projeyi birgünde yaptım hatayı bir haftada düzeltemedim ya :( @Loken olur bir yap bakalım Quote Link to comment Share on other sites More sharing options...
reyiz Posted July 25, 2013 Share Posted July 25, 2013 Switch'ı ben değil siz kullanmışsınız. Ama Switch'de kullanabilirsiniz, Select ile aynı mantıkta çalışıyor. Switch ve Select komutları if komutuna benzer fakat kullanımı daha kolaydır. Anlamazsanız anlatım isteğinde bulunabilirsin. Acelesi yoksa işim yokken birlikte kodları baştan hazırlayabiliriz. Quote Link to comment Share on other sites More sharing options...
x_files_x Posted July 25, 2013 Author Share Posted July 25, 2013 Çok güzel olur baştan yazmak çözümdür sanırım Quote Link to comment Share on other sites More sharing options...
blue_life Posted July 26, 2013 Share Posted July 26, 2013 Söz verdiğim üzere basit bir karalama yaptım. Yeterli zaman ayıramadığım için kodlara fazla dikkat etmedim. Bu yüzden hatalar olabilir. Eksik kısımları tamamlarsın.Çalışmalarınızda başarılar dilerim, kolay gelsin, arkadaşlar.... Opt("GUIOnEventMode", 1) Global $Blue_Main_Title = "Smart Tools" Global $START_PROCESS = 0 Global $GET_WIN_LIST Global $FIRST_WIN, $FIRST_TIME Global $SET_TIMER Global $Blue_Main_Form = GUICreate($Blue_Main_Title, 400, 265) GUISetOnEvent(-3, "_Exit") ; ------- GUICtrlCreateGroup("Beklenilen İşlem", 5, 10, 390, 75) Global $GUI_Ratio_Win = GUICtrlCreateRadio("Pencere Kapanırsa", 15, 30, 135, 17) GUICtrlSetOnEvent(-1, "_Choose_Process") Global $GUI_Ratio_Timer = GUICtrlCreateRadio("Geri Sayım Biterse", 15, 55, 135, 17) GUICtrlSetOnEvent(-1, "_Choose_Process") GUICtrlSetState(-1, 1) Global $GUI_WIN_COMBO = GUICtrlCreateCombo("", 155, 30, 230, 20, 10485763) GUICtrlSetState($GUI_WIN_COMBO, 128) Global $GUI_TIMER = GUICtrlCreateInput("1", 155, 55, 230, 20, 0x2000) GUICtrlCreateUpdown($GUI_TIMER) ;GUICtrlSetState($GUI_TIMER,128) ; ------- GUICtrlCreateGroup("Yapılacak İşlem", 5, 95, 390, 130) Global $GUI_SP1 = GUICtrlCreateRadio("Bilgisayar - Yeniden Başlat", 15, 115, 370, 17) Global $GUI_SP2 = GUICtrlCreateRadio("Bilgisayar - Kapat", 15, 135, 370, 17) GUICtrlSetState(-1, 1) Global $GUI_SP3 = GUICtrlCreateRadio("Bilgisayar -Uyku Modu", 15, 155, 370, 17) Global $GUI_SP4 = GUICtrlCreateRadio("Program / Müzik Başlat", 15, 175, 370, 17) GUICtrlSetOnEvent(-1, "_File_Select") Global $GUI_SP4_IN = GUICtrlCreateInput(@WindowsDir & "\notepad.exe", 15, 195, 345, 20) Global $GUI_SP4_BTN = GUICtrlCreateButton("...", 365, 195, 20, 20) GUICtrlSetOnEvent(-1, "_File_Select") ; ------- Global $GUI_START = GUICtrlCreateButton("Işlemi Başlat", 5, 230, 195, 25, 1) GUICtrlSetOnEvent(-1, "_START_PROCESS") Global $GUI_CANCEL = GUICtrlCreateButton("Işlemi Iptal Et", 200, 230, 195, 25) GUICtrlSetOnEvent(-1, "_CANCEL_PROCESS") Global $TempValue GUISetState(@SW_SHOW, $Blue_Main_Form) DllCall("psapi.dll", 'int', 'EmptyWorkingSet', 'long', -1) ;Safe Ram While 1 If $START_PROCESS = 0 Then ;Işlem henüz başlamadı If BitAND(GUICtrlRead($GUI_Ratio_Win), 1) = 1 Then _Update_Win_Combo() ElseIf BitAND(GUICtrlRead($GUI_Ratio_Timer), 1) = 1 Then $TempValue = Number(GUICtrlRead($GUI_TIMER)) If $TempValue < 1 Then GUICtrlSetData($GUI_TIMER, 1) EndIf Else ;Işlem başladı If BitAND(GUICtrlRead($GUI_Ratio_Win), 1) = 1 Then If WinExists($FIRST_WIN) = 0 Then _MAKE_PROCESS() _CANCEL_PROCESS() EndIf ElseIf BitAND(GUICtrlRead($GUI_Ratio_Timer), 1) = 1 Then If _COUNT_TIMER($SET_TIMER) = 1 Then _MAKE_PROCESS() _CANCEL_PROCESS() EndIf EndIf EndIf Sleep(100) ;Safe cpu WEnd Func _MAKE_PROCESS() Local $TempValue If BitAND(GUICtrlRead($GUI_SP1), 1) = 1 Then MsgBox(16, $Blue_Main_Title, "Bilgisayarı yeniden başlat! Sen yazarsın.") ElseIf BitAND(GUICtrlRead($GUI_SP2), 1) = 1 Then MsgBox(16, $Blue_Main_Title, "Bilgisayarı yeniden kapat! Sen yazarsın.") ElseIf BitAND(GUICtrlRead($GUI_SP3), 1) = 1 Then MsgBox(16, $Blue_Main_Title, "Bilgisayar - uyku ...! Sen yazarsın.") ElseIf BitAND(GUICtrlRead($GUI_SP4), 1) = 1 Then $TempValue = StringStripWS(GUICtrlRead($GUI_SP4_IN), 3) If FileExists($TempValue) = 0 Then MsgBox(16, $Blue_Main_Title, "Program seçimemiş!") Return SetError(4, 0, 0) EndIf ShellExecute($TempValue) EndIf EndFunc ;==>_MAKE_PROCESS Func _COUNT_TIMER(ByRef $SET_TIMER) Local $tm_sec = Int(TimerDiff($SET_TIMER)) ;milli-seconds Local $t_sec = Int($tm_sec / 1000) ;seconds Local $t_minute = Int($t_sec / 60) ;minute ToolTip("Belirlenen Dakika = " & $FIRST_TIME & @CRLF & "Geçen Dakika = " & $t_minute & @CRLF & "Saniye = " & $t_sec & @CRLF & "Mili Saniye = " & $tm_sec, 0, 0, $Blue_Main_Title, 1) If $FIRST_TIME <= $t_minute Then Return 1 Return 0 EndFunc ;==>_COUNT_TIMER Func _START_PROCESS() If BitAND(GUICtrlRead($GUI_Ratio_Win), 1) = 1 Then $FIRST_WIN = GUICtrlRead($GUI_WIN_COMBO) If WinExists($FIRST_WIN) = 0 Then MsgBox(16, $Blue_Main_Title, "Pencere zaten yok!") Return SetError(1, 0, 0) EndIf ElseIf BitAND(GUICtrlRead($GUI_Ratio_Timer), 1) = 1 Then $FIRST_TIME = Number(GUICtrlRead($GUI_TIMER)) If $FIRST_TIME = 0 Then MsgBox(16, $Blue_Main_Title, "Süreyi tekrar giriniz!") Return SetError(2, 0, 0) EndIf EndIf $SET_TIMER = TimerInit() $START_PROCESS = 1 EndFunc ;==>_START_PROCESS Func _CANCEL_PROCESS() $START_PROCESS = 0 ToolTip("") EndFunc ;==>_CANCEL_PROCESS Func _Choose_Process() If BitAND(GUICtrlRead($GUI_Ratio_Win), 1) = 1 Then GUICtrlSetState($GUI_WIN_COMBO, 64) GUICtrlSetState($GUI_TIMER, 128) ElseIf BitAND(GUICtrlRead($GUI_Ratio_Timer), 1) = 1 Then GUICtrlSetState($GUI_WIN_COMBO, 128) GUICtrlSetState($GUI_TIMER, 64) EndIf EndFunc ;==>_Choose_Process Func _Update_Win_Combo() Local $WinList = WinList(), $i, $SET_WIN_LIST[2] For $i = 1 To $WinList[0][0] If $WinList[$i][0] = "" Or BitAND(WinGetState($WinList[$i][1]), 2) <> 2 Or WinGetProcess($WinList[$i][1]) = @AutoItPID Then ContinueLoop $SET_WIN_LIST[0] &= $WinList[$i][0] & "|" If $SET_WIN_LIST[1] = "" Then $SET_WIN_LIST[1] = $WinList[$i][0] Next ; --------- If $GET_WIN_LIST = $SET_WIN_LIST[0] Then Return 0 $GET_WIN_LIST = $SET_WIN_LIST[0] Local $TempValue = GUICtrlRead($GUI_WIN_COMBO) If StringInStr("|" & $SET_WIN_LIST[0], "|" & $TempValue & "|") Then $SET_WIN_LIST[1] = $TempValue GUICtrlSetData($GUI_WIN_COMBO, "") If $SET_WIN_LIST[0] <> "" Then GUICtrlSetData($GUI_WIN_COMBO, $SET_WIN_LIST[0], $SET_WIN_LIST[1]) GUICtrlSetTip($GUI_WIN_COMBO, StringReplace($SET_WIN_LIST[0], "|", @LF), "", 0, 1) Return 1 EndFunc ;==>_Update_Win_Combo Func _Exit() Exit EndFunc ;==>_Exit Func _File_Select() Local $FileSelect = FileOpenDialog($Blue_Main_Form, @DesktopDir, "Program (*.exe)|Müzik (*.mp3)", 3, "", $Blue_Main_Form) If @error Then Return SetError(1, 0, 0) GUICtrlSetData($GUI_SP4_IN, $FileSelect) EndFunc ;==>_File_Select Quote Link to comment Share on other sites More sharing options...
x_files_x Posted July 26, 2013 Author Share Posted July 26, 2013 Tşk ederim hocam eline sağlık gerekli yerleri düzenlerim artık :) sagol, yardım eden diger arkadaslarıma cok tşk ederim 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.