Jump to content

Vazgeç Buton Ile Çalışmayı Iptal Et?


x_files_x
 Share

Recommended Posts

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
Link to comment
Share on other sites

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
Link to comment
Share on other sites

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 by reyiz
Link to comment
Share on other sites

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 by reyiz
Link to comment
Share on other sites

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

Link to comment
Share on other sites

@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

Link to comment
Share on other sites

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.

Link to comment
Share on other sites

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