Jump to content
Son zamanlarda artan kullanıcı hesap hırsızlıkları sebebiyle tüm kullanıcılara şifre sıfırlama maili gönderilmiştir. Lütfen güveli şifreler seçiniz. Mevcut e-mail adresinize erişemiyorsanız, en aşağıdaki destek linkinden bize ulaşınız. ×

Guide Bir Fonksiyonu Başlattığımda Durduramıyorum


x_files_x
 Share

Recommended Posts

Merhaba arkadaşlar, bugün bir gui oluşturup bişiler deneyim dedim ve pencere işlemleri için küçük bir script yazdım, script normal çalışıyor ancak pencereyi engelle butonu yani block butonuna basınca scriptin butonları çalışmıyo ve kapatamıyorum durduramıyorum da, ancak hotkey kısayol ile kapatılıyor, ben block tusuna basınca engellesin, unblock tusuna basınca fonksiyon dursun istiyorum...

 

#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Opt("TrayAutoPause", 0) ;ikona basınca durdur olmaz
Opt("WinTitleMatchMode", 2)
;Bu komutla onu kaldırabilirsin.
Opt("TrayOnEventMode",1)
Opt("TrayAutoPause",0)
;Eğer menününde olmamasını istiyorsan alttaki kodu kullan.
Opt("TrayMenuMode", 1)
$gostertry = TrayCreateItem("Menüyü Göster") ;ileti bu
TrayItemSetOnEvent(-1, "goster") ; görevi "goster" functionunu calıstırmak
;~ TrayCreateItem("")

$gizletry = TrayCreateItem("Menüyü Gizle") ;ileti bu
TrayItemSetOnEvent(-1, "gizle") ; görevi "gizle" functionunu calıstırmak
;~ TrayCreateItem("")

$config_tray = TrayCreateItem("..:Hakkımda:..") ;ileti bu
TrayItemSetOnEvent(-1, "mms") ; görevi "mms" functionunu calıstırmak
;~ TrayCreateItem("")

$exit_tray = TrayCreateItem("        Çıkış")
TrayItemSetOnEvent(-1, "exxit")
TraySetState();---------------------------
#Region ### START Koda GUI section ### Form=
;~ HotKeySet("{ESC}" ,"Kapat") ;kısayol gui kapat
$Form1 = GUICreate("Win Tasker v.1.0", 236, 101, 728, 461)
GUISetBkColor(0x4DBFD5)

GUISetOnEvent($GUI_EVENT_CLOSE, "exxit")
HotKeySet("{ESC}" ,"gizle") ;kısayol gui gizle

$Combo1 = GUICtrlCreateCombo("", 8, 10, 170, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) ;combo ollusturdum
$var = WinList()

For $i = 1 to $var[0][0]
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

$Button1 = GUICtrlCreateButton("Show", 8, 63, 42, 35)
GUICtrlSetOnEvent($Button1, "Button1Click")
$Button2 = GUICtrlCreateButton("Hide", 50, 63, 42, 35)
GUICtrlSetOnEvent($Button2, "Button2Click")
$Button3 = GUICtrlCreateButton("Reflesh", 185, 10, 46, 25)
GUICtrlSetOnEvent($Button3, "Button3Click")
$Button4 = GUICtrlCreateButton("Block", 92, 63, 42, 35)
GUICtrlSetOnEvent($Button4, "Button4Click")
$Button5 = GUICtrlCreateButton("Gizle", 134, 63, 46, 35)
GUICtrlSetOnEvent($Button5, "gizle")
$Button7 = GUICtrlCreateButton("Unblock", 185, 63, 46, 25)
GUICtrlSetOnEvent($Button7, "Unblock")
$Button6 = GUICtrlCreateButton("Rename", 185, 40, 46, 25)
GUICtrlSetOnEvent($Button6, "Button6Click")
$Combo2 = GUICtrlCreateCombo("", 8, 40, 170, 25, BitOR($CBS_DROPDOWN,$CBS_AUTOHSCROLL)) ;combo ollusturdum
GUISetState(@SW_SHOW)

While 1
	Sleep(100)
WEnd



Func Button1Click()
   $hWnd = (GUICtrlRead($combo1))
	WinSetState($hWnd, "", @SW_SHOW)
	WinActivate($Form1)
EndFunc

Func Button2Click()
   $hWnd = (GUICtrlRead($combo1))
   	WinSetState($hWnd, "", @SW_HIDE)
EndFunc

Func Button3Click()
    If @Compiled = 1 Then
        Run( FileGetShortName(@ScriptFullPath))
    Else
        Run( FileGetShortName(@AutoItExe) & " " & FileGetShortName(@ScriptFullPath))
    EndIf
    Exit
EndFunc

Func Combo1Change()
EndFunc

Func Form1Close()
Exit
EndFunc

Func IsVisible($handle)
    If BitAND(WinGetState($handle), 2) Then
        Return 1
    Else
        Return 0
    EndIf
EndFunc   ;==>IsVisible

Func Button6Click()
	$winfirst = GUICtrlRead($combo1)
	$winsecond = GUICtrlRead($combo2)
	WinSetTitle($winfirst,"",$winsecond)
EndFunc

Func Button4Click()
$winfirst = (GUICtrlRead($combo1))

	While 1
			WinKill($winfirst)
		Sleep(200)
WEnd
EndFunc


Func mms() ;hakkımda try
	MsgBox(64, "Win Tasker v.1.0", "Yapımcı :" & @CRLF & "Adem SEZGİN")
EndFunc

Func goster() ;menuyu goster try
	GUISetState(@SW_SHOW)
EndFunc

Func Unblock() ;menuyu goster try
	Exit
EndFunc

Func exxit() ;exit try
	Exit
EndFunc

Func gizle() ;menuyu goster try
	GUISetState(@SW_HIDE)
EndFunc

 

Link to comment
Share on other sites

Sleep kullandığın için problem yaşıyorsun. Block butonuna bastığından andan itibaren script sonsuz sleep içine giriyor. Bunun yerine AdlibRegister kullanarak bu sorunu aşabilirsin. Farklı şekilde de döngüyü break edebilirsin ama AdlibRegister bu iş için en iyisi.

#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Opt("TrayAutoPause", 0) ;ikona basınca durdur olmaz
Opt("WinTitleMatchMode", 2)
;Bu komutla onu kaldırabilirsin.
Opt("TrayOnEventMode", 1)
Opt("TrayAutoPause", 0)
;Eğer menününde olmamasını istiyorsan alttaki kodu kullan.
Opt("TrayMenuMode", 1)
$gostertry = TrayCreateItem("Menüyü Göster") ;ileti bu
TrayItemSetOnEvent(-1, "goster") ; görevi "goster" functionunu calıstırmak
;~ TrayCreateItem("")

$gizletry = TrayCreateItem("Menüyü Gizle") ;ileti bu
TrayItemSetOnEvent(-1, "gizle") ; görevi "gizle" functionunu calıstırmak
;~ TrayCreateItem("")

$config_tray = TrayCreateItem("..:Hakkımda:..") ;ileti bu
TrayItemSetOnEvent(-1, "mms") ; görevi "mms" functionunu calıstırmak
;~ TrayCreateItem("")

$exit_tray = TrayCreateItem("        Çıkış")
TrayItemSetOnEvent(-1, "exxit")
TraySetState() ;---------------------------
#Region ### START Koda GUI section ### Form=
;~ HotKeySet("{ESC}" ,"Kapat") ;kısayol gui kapat
$Form1 = GUICreate("Win Tasker v.1.0", 236, 101, 728, 461)
GUISetBkColor(0x4DBFD5)

GUISetOnEvent($GUI_EVENT_CLOSE, "exxit")
HotKeySet("{ESC}", "gizle") ;kısayol gui gizle

$Combo1 = GUICtrlCreateCombo("", 8, 10, 170, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL)) ;combo ollusturdum
$var = WinList()
Dim $winfirst

For $i = 1 To $var[0][0]
	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

$Button1 = GUICtrlCreateButton("Show", 8, 63, 42, 35)
GUICtrlSetOnEvent($Button1, "Button1Click")
$Button2 = GUICtrlCreateButton("Hide", 50, 63, 42, 35)
GUICtrlSetOnEvent($Button2, "Button2Click")
$Button3 = GUICtrlCreateButton("Reflesh", 185, 10, 46, 25)
GUICtrlSetOnEvent($Button3, "Button3Click")
$Button4 = GUICtrlCreateButton("Block", 92, 63, 42, 35)
GUICtrlSetOnEvent($Button4, "Button4Click")
$Button5 = GUICtrlCreateButton("Gizle", 134, 63, 46, 35)
GUICtrlSetOnEvent($Button5, "gizle")
$Button7 = GUICtrlCreateButton("Unblock", 185, 63, 46, 25)
GUICtrlSetOnEvent($Button7, "Unblock")
$Button6 = GUICtrlCreateButton("Rename", 185, 40, 46, 25)
GUICtrlSetOnEvent($Button6, "Button6Click")
$Combo2 = GUICtrlCreateCombo("", 8, 40, 170, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL)) ;combo ollusturdum
GUISetState(@SW_SHOW)

While 1
	Sleep(100)
WEnd



Func Button1Click()
	$hWnd = (GUICtrlRead($Combo1))
	WinSetState($hWnd, "", @SW_SHOW)
	WinActivate($Form1)
EndFunc   ;==>Button1Click

Func Button2Click()
	$hWnd = (GUICtrlRead($Combo1))
	WinSetState($hWnd, "", @SW_HIDE)
EndFunc   ;==>Button2Click

Func Button3Click()
	If @Compiled = 1 Then
		Run(FileGetShortName(@ScriptFullPath))
	Else
		Run(FileGetShortName(@AutoItExe) & " " & FileGetShortName(@ScriptFullPath))
	EndIf
	Exit
EndFunc   ;==>Button3Click

Func Combo1Change()
EndFunc   ;==>Combo1Change

Func Form1Close()
	Exit
EndFunc   ;==>Form1Close

Func IsVisible($handle)
	If BitAND(WinGetState($handle), 2) Then
		Return 1
	Else
		Return 0
	EndIf
EndFunc   ;==>IsVisible

Func Button6Click()
	$winfirst = GUICtrlRead($Combo1)
	$winsecond = GUICtrlRead($Combo2)
	WinSetTitle($winfirst, "", $winsecond)
EndFunc   ;==>Button6Click

Func Button4Click()
	$winfirst = (GUICtrlRead($Combo1))
	AdlibRegister("_WinKill")
EndFunc   ;==>Button4Click

Func _WinKill()
	WinKill($winfirst)
EndFunc   ;==>_WinKill

Func mms() ;hakkımda try
	MsgBox(64, "Win Tasker v.1.0", "Yapımcı :" & @CRLF & "Adem SEZGİN")
EndFunc   ;==>mms

Func goster() ;menuyu goster try
	GUISetState(@SW_SHOW)
EndFunc   ;==>goster

Func Unblock() ;menuyu goster try
	AdlibUnRegister("_WinKill")
	;Exit
EndFunc   ;==>Unblock

Func exxit() ;exit try
	Exit
EndFunc   ;==>exxit

Func gizle() ;menuyu goster try
	GUISetState(@SW_HIDE)
EndFunc   ;==>gizle

 

  • Like 1
Link to comment
Share on other sites

4 saat önce, DivaneTR yazdı:

Eline sağlık kardeşim, adlibi hiç bilmiyordum :)  tamda bana göre bişiymiş

 

 

4 saat önce, DivaneTR yazdı:

Sleep kullandığın için problem yaşıyorsun. Block butonuna bastığından andan itibaren script sonsuz sleep içine giriyor. Bunun yerine AdlibRegister kullanarak bu sorunu aşabilirsin. Farklı şekilde de döngüyü break edebilirsin ama AdlibRegister bu iş için en iyisi.


#include <ButtonConstants.au3>
#include <ComboConstants.au3>
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Opt("GUIOnEventMode", 1)
Opt("TrayAutoPause", 0) ;ikona basınca durdur olmaz
Opt("WinTitleMatchMode", 2)
;Bu komutla onu kaldırabilirsin.
Opt("TrayOnEventMode", 1)
Opt("TrayAutoPause", 0)
;Eğer menününde olmamasını istiyorsan alttaki kodu kullan.
Opt("TrayMenuMode", 1)
$gostertry = TrayCreateItem("Menüyü Göster") ;ileti bu
TrayItemSetOnEvent(-1, "goster") ; görevi "goster" functionunu calıstırmak
;~ TrayCreateItem("")

$gizletry = TrayCreateItem("Menüyü Gizle") ;ileti bu
TrayItemSetOnEvent(-1, "gizle") ; görevi "gizle" functionunu calıstırmak
;~ TrayCreateItem("")

$config_tray = TrayCreateItem("..:Hakkımda:..") ;ileti bu
TrayItemSetOnEvent(-1, "mms") ; görevi "mms" functionunu calıstırmak
;~ TrayCreateItem("")

$exit_tray = TrayCreateItem("        Çıkış")
TrayItemSetOnEvent(-1, "exxit")
TraySetState() ;---------------------------
#Region ### START Koda GUI section ### Form=
;~ HotKeySet("{ESC}" ,"Kapat") ;kısayol gui kapat
$Form1 = GUICreate("Win Tasker v.1.0", 236, 101, 728, 461)
GUISetBkColor(0x4DBFD5)

GUISetOnEvent($GUI_EVENT_CLOSE, "exxit")
HotKeySet("{ESC}", "gizle") ;kısayol gui gizle

$Combo1 = GUICtrlCreateCombo("", 8, 10, 170, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL)) ;combo ollusturdum
$var = WinList()
Dim $winfirst

For $i = 1 To $var[0][0]
	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

$Button1 = GUICtrlCreateButton("Show", 8, 63, 42, 35)
GUICtrlSetOnEvent($Button1, "Button1Click")
$Button2 = GUICtrlCreateButton("Hide", 50, 63, 42, 35)
GUICtrlSetOnEvent($Button2, "Button2Click")
$Button3 = GUICtrlCreateButton("Reflesh", 185, 10, 46, 25)
GUICtrlSetOnEvent($Button3, "Button3Click")
$Button4 = GUICtrlCreateButton("Block", 92, 63, 42, 35)
GUICtrlSetOnEvent($Button4, "Button4Click")
$Button5 = GUICtrlCreateButton("Gizle", 134, 63, 46, 35)
GUICtrlSetOnEvent($Button5, "gizle")
$Button7 = GUICtrlCreateButton("Unblock", 185, 63, 46, 25)
GUICtrlSetOnEvent($Button7, "Unblock")
$Button6 = GUICtrlCreateButton("Rename", 185, 40, 46, 25)
GUICtrlSetOnEvent($Button6, "Button6Click")
$Combo2 = GUICtrlCreateCombo("", 8, 40, 170, 25, BitOR($CBS_DROPDOWN, $CBS_AUTOHSCROLL)) ;combo ollusturdum
GUISetState(@SW_SHOW)

While 1
	Sleep(100)
WEnd



Func Button1Click()
	$hWnd = (GUICtrlRead($Combo1))
	WinSetState($hWnd, "", @SW_SHOW)
	WinActivate($Form1)
EndFunc   ;==>Button1Click

Func Button2Click()
	$hWnd = (GUICtrlRead($Combo1))
	WinSetState($hWnd, "", @SW_HIDE)
EndFunc   ;==>Button2Click

Func Button3Click()
	If @Compiled = 1 Then
		Run(FileGetShortName(@ScriptFullPath))
	Else
		Run(FileGetShortName(@AutoItExe) & " " & FileGetShortName(@ScriptFullPath))
	EndIf
	Exit
EndFunc   ;==>Button3Click

Func Combo1Change()
EndFunc   ;==>Combo1Change

Func Form1Close()
	Exit
EndFunc   ;==>Form1Close

Func IsVisible($handle)
	If BitAND(WinGetState($handle), 2) Then
		Return 1
	Else
		Return 0
	EndIf
EndFunc   ;==>IsVisible

Func Button6Click()
	$winfirst = GUICtrlRead($Combo1)
	$winsecond = GUICtrlRead($Combo2)
	WinSetTitle($winfirst, "", $winsecond)
EndFunc   ;==>Button6Click

Func Button4Click()
	$winfirst = (GUICtrlRead($Combo1))
	AdlibRegister("_WinKill")
EndFunc   ;==>Button4Click

Func _WinKill()
	WinKill($winfirst)
EndFunc   ;==>_WinKill

Func mms() ;hakkımda try
	MsgBox(64, "Win Tasker v.1.0", "Yapımcı :" & @CRLF & "Adem SEZGİN")
EndFunc   ;==>mms

Func goster() ;menuyu goster try
	GUISetState(@SW_SHOW)
EndFunc   ;==>goster

Func Unblock() ;menuyu goster try
	AdlibUnRegister("_WinKill")
	;Exit
EndFunc   ;==>Unblock

Func exxit() ;exit try
	Exit
EndFunc   ;==>exxit

Func gizle() ;menuyu goster try
	GUISetState(@SW_HIDE)
EndFunc   ;==>gizle

 

 

Edited by x_files_x
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...