slightly_abnormal Posted May 4, 2006 Share Posted May 4, 2006 you know how autoit has the icon in the tray, pressing it pause the script/ pressing it again unpause.. i want to know how to do this with a gui, button, and a custom tray button but it freezes the entire script.. i'll post the script in a few, unless somebody already knows whow to do it. Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted May 4, 2006 Moderators Share Posted May 4, 2006 (edited) you know how autoit has the icon in the tray, pressing it pause the script/ pressing it again unpause.. i want to know how to do this with a gui, button, and a custom tray button but it freezes the entire script.. i'll post the script in a few, unless somebody already knows whow to do it.You want a button menu to drop down when you hover the button? And I don't know what you mean by tray "button".If it's the button menu, you can take a look at this: http://www.autoitscript.com/forum/index.ph...ndpost&p=165551 Edited May 4, 2006 by SmOke_N Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
slightly_abnormal Posted May 4, 2006 Author Share Posted May 4, 2006 (edited) i just want to pause/unpause a function, but dont want to pause the gui, i seen how this is done with hotkeys bot how can it be done with gui?? expandcollapse popup#include <GUIConstants.au3> Global $pause = 0, $pause GUICreate("BD",200,200,-1,-1) $pauseme= GUICtrlCreateButton("Pause me",10,50,180,30) $test= GUICtrlCreateButton("Open notepad",10,80,180,30) $exit= GUICtrlCreateButton("exit",10,110,180,30) GUISetState() Opt("TrayMenuMode",1) $prefsitem = TrayCreateItem("Pause/Unpause") TrayItemSetOnEvent($prefsitem,"_pauseme") TrayCreateItem("") $aboutitem = TrayCreateItem("About") TrayCreateItem("") $exititem = TrayCreateItem("Exit") TrayItemSetOnEvent($prefsitem,"_ext") TraySetState() while 1 _loooooooop() $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $pauseme _pauseme() Case $msg = $test run("notepad.exe") Case $msg = $exit Exit EndSelect WEnd func _loooooooop() run("notepad.exe") sleep(2000) EndFunc func _ext() Exit EndFunc func _pauseme() while 1 If $pause = 0 Then $pause = 1 GUICtrlSetData($pauseme,"Unpause me") $Pause = NOT $Pause While $Pause sleep(10) WEnd If $pause = 0 Then $pause = 1 EndIf ExitLoop If $pause = 1 Then $pause = 0 GUICtrlSetData($pause,"Pause me") $Pause = $Pause While NOT $Pause ExitLoop WEnd If $pause = 1 Then $pause = 0 ExitLoop EndIf wend EndFunc wend EndFunc Edited May 4, 2006 by slightly_abnormal Link to comment Share on other sites More sharing options...
Moderators SmOke_N Posted May 4, 2006 Moderators Share Posted May 4, 2006 Would be nice to hear if anything ever worked for you lol, but this is probably how I would have approached (don't know really, didn't give it much thought):expandcollapse popup#include <GUIConstants.au3> Global $pause = 0, $pause GUICreate("BD",200,200,-1,-1) $pauseme= GUICtrlCreateButton("Pause me",10,50,180,30) $test= GUICtrlCreateButton("Open notepad",10,80,180,30) $exit= GUICtrlCreateButton("exit",10,110,180,30) GUISetState() Opt("TrayMenuMode",1) $prefsitem = TrayCreateItem("Pause/Unpause") TrayItemSetOnEvent($prefsitem,"_pauseme") TrayCreateItem("") $aboutitem = TrayCreateItem("About") TrayCreateItem("") $exititem = TrayCreateItem("Exit") TrayItemSetOnEvent($prefsitem,"_ext") TraySetState() While 1 ;_loooooooop() $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $pauseme _pauseme() Case $msg = $test Run("notepad.exe") Case $msg = $exit Exit EndSelect WEnd Func _loooooooop() Run("notepad.exe") Sleep(2000) EndFunc ;==>_loooooooop Func _ext() Exit EndFunc ;==>_ext Func _pauseme() $pause = Not $pause If $pause Then GUICtrlSetData($pauseme,"Unpause me") Else GUICtrlSetData($pauseme,"Pause me") EndIf While $pause $msg2 = GUIGetMsg() Select Case $msg2 = $GUI_EVENT_CLOSE ExitLoop Case $msg2 = $pauseme _pauseme() Case $msg2 = $test Run("notepad.exe") Case $msg2 = $exit Exit EndSelect WEnd EndFunc ;==>_pauseme Common sense plays a role in the basics of understanding AutoIt... If you're lacking in that, do us all a favor, and step away from the computer. Link to comment Share on other sites More sharing options...
slightly_abnormal Posted May 4, 2006 Author Share Posted May 4, 2006 heh, thanks.. i do tend to get a little over my head Link to comment Share on other sites More sharing options...
Valuater Posted May 4, 2006 Share Posted May 4, 2006 (edited) i think this is what you wanted... the pause actually pauses... even the tray pause works too! expandcollapse popup#include <GUIConstants.au3> Global $pause = 0 GUICreate("BD", 200, 200, -1, -1) $pauseme = GUICtrlCreateButton("Pause me", 10, 50, 180, 30) $test = GUICtrlCreateButton("Open notepad", 10, 80, 180, 30) $exit = GUICtrlCreateButton("exit", 10, 110, 180, 30) GUISetState() Opt("TrayMenuMode", 1) Opt("TrayOnEventMode", 1) $prefsitem = TrayCreateItem("Pause/Unpause") TrayItemSetOnEvent( -1, "_pauseme") TrayCreateItem("") $aboutitem = TrayCreateItem("About") TrayItemSetOnEvent( -1, "_about") TrayCreateItem("") $exititem = TrayCreateItem("Exit") TrayItemSetOnEvent( -1, "_ext") TraySetState() While 1 $msg = GUIGetMsg() Select Case $msg = $GUI_EVENT_CLOSE ExitLoop Case $msg = $pauseme _pauseme() Case $msg = $test _loooooooop() Case $msg = $exit Exit EndSelect While $pause = 1 $msg2 = GUIGetMsg() If $msg2 = $pauseme Then _pauseme() WEnd WEnd Func _loooooooop() Run("notepad.exe") EndFunc ;==>_loooooooop Func _ext() Exit EndFunc ;==>_ext Func _pauseme() If GUICtrlRead($pauseme) = "Pause me" Then GUICtrlSetData($pauseme, "Unpause me") $pause = 1 Else GUICtrlSetData($pauseme, "Pause me") $pause = 0 EndIf EndFunc Func _about() MsgBox(64,"thanks...","... Valuater",1) EndFunc 8) Edited May 4, 2006 by Valuater Link to comment Share on other sites More sharing options...
slightly_abnormal Posted May 4, 2006 Author Share Posted May 4, 2006 MsgBox(64,"thanks...","... Valuater",1) hey val, do you know how to get it to pause/unpause if the i stuck a while loop in the _loooooooop() func.. maybe if i change to oneventmode? lets see. dang the pause function keeps getting smaller, and it works!.. Link to comment Share on other sites More sharing options...
nfwu Posted May 4, 2006 Share Posted May 4, 2006 By adding something like: While $pause = 1 $msg2 = GUIGetMsg() If $msg2 = $pauseme Then _pauseme() WEnd In the loop? #) TwitterOut of date stuff:Scripts: Sudoku Solver | Webserver | 3D library (Pure AutoIt) | Wood's GadgetsUDFs: _WoodUniqueID() | _DialogEditIni() | _Console*() | _GetIPConfigData() | _URLEncode/Decode() Link to comment Share on other sites More sharing options...
Valuater Posted May 4, 2006 Share Posted May 4, 2006 MsgBox(64,"thanks...","... Valuater",1) hey val, do you know how to get it to pause/unpause if the i stuck a while loop in the _loooooooop() func.. maybe if i change to oneventmode? lets see. dang the pause function keeps getting smaller, and it works!.. Welcomeglad it worked8) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now