Fr33b0w Posted June 28, 2010 Posted June 28, 2010 I am using one script often which I am pausing a lot. I know its not a big deal to right click it then unpause but when You do that EVERY DAY more then a hundred times it become anoying... I was looking for solution but I couldnt get any in hours of searching... I did try AutoItSetOption ( "option" [, param] ) but I couldnt get it to work... Is there a simple solution for this: On left click both PAUSE and UNPAUSE script (script pauses without opening a menu) hmmmm i will try to setup a hotkey for that but I am wondering is there a way to set it up with left mouse click...
Moderators Melba23 Posted June 28, 2010 Moderators Posted June 28, 2010 Fr33b0w, I think this should do what you want: expandcollapse popup#include <GUIConstantsEx.au3> #include <Constants.au3> $fPaused = "False" Opt("TrayOnEventMode", 1) ; Use event trapping for tray menu Opt("TrayMenuMode", 3) ; Default tray menu items will not be shown. ; Create tray menu TrayCreateItem("Exit") TrayItemSetOnEvent(-1, "On_Exit") ; Set function for left click on icon TraySetOnEvent($TRAY_EVENT_PRIMARYUP, "On_Click") ; Tray context menu only opened by right click TraySetClick(16) $hGUI = GUICreate("Test", 500, 500) GUICtrlCreateLabel("Paused = ", 10, 10, 50, 20) $hLabel = GUICtrlCreateLabel($fPaused, 60, 10, 100, 20) GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit EndSwitch If $fPaused <> GUICtrlRead($hLabel) Then GUICtrlSetData($hLabel, $fPaused) EndIf WEnd Func On_Click() Switch $fPaused Case "False" $fPaused = "True" Case Else $fPaused = "False" EndSwitch EndFunc Func On_Exit() Exit EndFunc All clear? M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Fr33b0w Posted June 28, 2010 Author Posted June 28, 2010 (edited) Fr33b0w, I think this should do what you want: All clear? M23 After more then one hour looking at your example almost everything is clear! Thanks! And I have one more little question: Is it possible when its paused to use that red cross over the icon (default pause)? I did set it with this tooltip but it just dont look good (script works and everything but can I set an icon indicator as red cross...) Script already uses two different icons for diff modes... And i have third pause mode now... can it be done with red cross over the icon that has been used? MANY THANKS! Func On_Click() Switch $fPaused Case "False" false1 () Case Else true1 () EndSwitch EndFunc Func On_Exit() Exit EndFunc Func false1() ToolTip('------------------------------ NOW PLAY SCRIPT PAUSED ------------------------------',0,0) TraySetPauseIcon() $fPaused = "True" EndFunc Func true1() $fPaused = "False" ToolTip('',0,0) TraySetPauseIcon() EndFunc PS: Or if there is a way to save somehow condition of the icon that is presented in tray, replace it with pause icon and when tray icon is clicked again (unpaused) then to restore icon that was in the tray (i have two different ones in a tray...) Edited June 28, 2010 by Fr33b0w
Moderators Melba23 Posted June 28, 2010 Moderators Posted June 28, 2010 Fr33b0w,If you compile this, yuo get the red "X" icon when the script is paused and the normal icon when it is not:expandcollapse popup#include <GUIConstantsEx.au3> #include <Constants.au3> $fPaused = "False" Opt("TrayOnEventMode", 1) ; Use event trapping for tray menu Opt("TrayMenuMode", 3) ; Default tray menu items will not be shown. ; Create tray menu TrayCreateItem("Exit") TrayItemSetOnEvent(-1, "On_Exit") ; Set function for left click on icon TraySetOnEvent($TRAY_EVENT_PRIMARYUP, "On_Click") ; Tray context menu only opened by right click TraySetClick(16) $hGUI = GUICreate("Test", 500, 500) GUICtrlCreateLabel("Paused = ", 10, 10, 50, 20) $hLabel = GUICtrlCreateLabel($fPaused, 60, 10, 100, 20) GUISetState() While 1 Switch GUIGetMsg() Case $GUI_EVENT_CLOSE Exit EndSwitch If $fPaused <> GUICtrlRead($hLabel) Then GUICtrlSetData($hLabel, $fPaused) EndIf WEnd Func On_Click() Switch $fPaused Case "False" $fPaused = "True" TraySetIcon(@ScriptFullPath, -3) ; use red X tray icon Case Else $fPaused = "False" TraySetIcon(@ScriptFullPath, 0) ; use default icon EndSwitch EndFunc Func On_Exit() Exit EndFuncIs that what you wanted? M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Fr33b0w Posted June 28, 2010 Author Posted June 28, 2010 Dont know what I did wrong it wont pause anymore... just to check everything once again... I have hotkeys inside? Thay also pause right?
Moderators Melba23 Posted June 28, 2010 Moderators Posted June 28, 2010 Fr33b0w, If you do not post the code you are having problems with, how am I (or anyone else) supposed to help? M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Fr33b0w Posted June 28, 2010 Author Posted June 28, 2010 Fr33b0w, If you do not post the code you are having problems with, how am I (or anyone else) supposed to help? M23 I didnt wanted to confuse You... but I really cant find whats wrong now... expandcollapse popup;---------------- working version v0.008 ---------------- ; - send np on numpad0 ; - duplicates not possible #Region ;**** Directives created by AutoIt3Wrapper_GUI **** #AutoIt3Wrapper_outfile=..\Desktop\Winamp Tracklister.exe #EndRegion ;**** Directives created by AutoIt3Wrapper_GUI **** ;Winamp lister ;Lists songs that are played in winamp #include <GUIConstantsEx.au3> #include <Constants.au3> #include <Winamp_Library.au3> $fPaused = "False" Opt("TrayOnEventMode", 1) ; Use event trapping for tray menu Opt("TrayMenuMode", 3) ; Default tray menu items will not be shown. ; Create tray menu TrayCreateItem("Exit") TrayItemSetOnEvent(-1, "On_Exit") ; Set function for left click on icon TraySetOnEvent($TRAY_EVENT_PRIMARYUP, "On_Click") ; Tray context menu only opened by right click TraySetClick(16) HotKeySet("{PAUSE}", "automated") HotKeySet("{NUMPAD0}", "sendnp") TraySetIcon(@ScriptDir & "\npspam.ico",-1) $count=IniRead("npspam.ini", "Counter", "counter", "0") $hFile=@ScriptDir&'\Tracklist.txt' $icon=1 While 1 Sleep(10000);Update interval Wend Func sendnp() $Track=_Winamp_GetCurrentTrackTitle() If stringinstr(FileRead($hFile),$Track)=0 then;No dupes plox Filewriteline($hFile,@MDAY&'/'&@MON&'/'&@YEAR&' Time: ' &@HOUR & ':' & @MIN & ":" & @SEC&' - '&$Track&@CRLF) FileClose($hFile) sendit() Endif EndFunc Func sendit() WinActivate ("Test APP") WinWaitActive("Test APP") Send("[auto_no: " & $count & "] " & "^!z") $count=$count+1 IniWrite("npspam.ini", "Counter", "counter", $count) EndFunc Func automated() TraySetIcon(@ScriptDir & "\npspama.ico",-1) $icon=2 $paused = NOT $paused While $paused sleep(100) ToolTip('------------------------------ NOW PLAY SCRIPT AUTOMATED ------------------------------',0,0) $Track=_Winamp_GetCurrentTrackTitle() If stringinstr(FileRead($hFile),$Track)=0 then;No dupes plox Filewriteline($hFile,@MDAY&'/'&@MON&'/'&@YEAR&' Time: ' &@HOUR & ':' & @MIN & ":" & @SEC&' - '&$Track&@CRLF) FileClose($hFile) sendit () Endif Sleep(3000);Update interval WEnd ToolTip('',0,0) TraySetIcon(@ScriptDir & "\npspam.ico",-1) $icon=1 EndFunc Func On_Click() Switch $fPaused Case "False" $fPaused = "True" false1 () Case Else true1 () $fPaused = "False" EndSwitch EndFunc Func On_Exit() Exit EndFunc Func false1() ToolTip('------------------------------ NOW PLAY SCRIPT PAUSED ------------------------------',0,0) TraySetIcon(@ScriptDir & "\npspamp.ico",-1) EndFunc Func true1() ToolTip('',0,0) Select Case $icon=1 TraySetIcon(@ScriptDir & "\npspam.ico",-1) Case $icon=2 TraySetIcon(@ScriptDir & "\npspama.ico",-1) EndSelect EndFunc part of the script is frm here: Part of the code
Moderators Melba23 Posted June 28, 2010 Moderators Posted June 28, 2010 Fr33b0w,I have removed the WinAmp related code because I do not have the app, but it is easy to put back in. What you have here is a script that stays inactive until you press the "Pause" button. At this point the script activates and changes icon to show this. Now the script is activated, pressing the "Pause" button or clicking the tray icon toggles the script between active and paused states - changing the icon and tooltip to reflect this.expandcollapse popup#include <GUIConstantsEx.au3> #include <Constants.au3> Global $fRunning = False, $fAutomated = False Opt("TrayOnEventMode", 1) ; Use event trapping for tray menu Opt("TrayMenuMode", 3) ; Default tray menu items will not be shown. ; Create tray menu TrayCreateItem("Exit") TrayItemSetOnEvent(-1, "On_Exit") ; Set function for left click on icon TraySetOnEvent($TRAY_EVENT_PRIMARYUP, "On_Click") ; Tray context menu only opened by right click TraySetClick(16) HotKeySet("{PAUSE}", "automated") ;HotKeySet("{NUMPAD0}", "sendnp") $count = IniRead("npspam.ini", "Counter", "counter", "0") $hFile = @ScriptDir & '\Tracklist.txt' While 1 ; Has the script been activatd by an initial press on the Pause key? If $fAutomated Then ; Do your WinAmp stuff here EndIf Sleep(10000) ; Update interval WEnd Func automated() ; The script is now activated $fAutomated = True ToolTip('------------------------------ NOW PLAY SCRIPT AUTOMATED ------------------------------', 0, 0) Sleep(2000) ; So automated tooltip shows! ; From now on the Pause button acts as if we clicked on the tray icon On_Click() EndFunc ;==>automated Func On_Click() ; Has the script been activated by a press on the Pause button If $fAutomated Then ; If so then switch the state $fRunning = Not $fRunning ; Now set the correct tooltip and icon Switch $fRunning Case True ToolTip('------------------------------ NOW PLAY SCRIPT RUNNING ------------------------------', 0, 0) TraySetIcon(@ScriptDir & "\Automated.ico") Case Else ToolTip('------------------------------ NOW PLAY SCRIPT PAUSED ------------------------------', 0, 0) TraySetIcon(@ScriptDir & "\Paused.ico") EndSwitch EndIf EndFunc ;==>On_Click Func On_Exit() Exit EndFunc ;==>On_ExitThe icons I used are here:I hope this is what you wanted - ask again if not. M23 Any of my own code posted anywhere on the forum is available for use by others without any restriction of any kind Open spoiler to see my UDFs: Spoiler ArrayMultiColSort ---- Sort arrays on multiple columnsChooseFileFolder ---- Single and multiple selections from specified path treeview listingDate_Time_Convert -- Easily convert date/time formats, including the language usedExtMsgBox --------- A highly customisable replacement for MsgBoxGUIExtender -------- Extend and retract multiple sections within a GUIGUIFrame ---------- Subdivide GUIs into many adjustable framesGUIListViewEx ------- Insert, delete, move, drag, sort, edit and colour ListView itemsGUITreeViewEx ------ Check/clear parent and child checkboxes in a TreeViewMarquee ----------- Scrolling tickertape GUIsNoFocusLines ------- Remove the dotted focus lines from buttons, sliders, radios and checkboxesNotify ------------- Small notifications on the edge of the displayScrollbars ----------Automatically sized scrollbars with a single commandStringSize ---------- Automatically size controls to fit textToast -------------- Small GUIs which pop out of the notification area
Fr33b0w Posted June 28, 2010 Author Posted June 28, 2010 I hope this is what you wanted - ask again if not. M23MANY MANY THANKS! I will try it when i get back home! I know it will work! Where do You find time for all that? Saved the day and many more...
VII Posted July 5, 2010 Posted July 5, 2010 Hello, new to AutoIt. Hopefully someone can help me with this. When I leave my client window, and move to another program, the Autoit pauses, but when I comeback it won't unpause. It appears to be unpaused, but the original client that I'm using the AutoIt for, it won't unpause there. But I can tell it is still active when I go to type in other areas. HotKeySet("{v}","jump") HotKeySet("{PAUSE}", "unbind") func jump() ; normal jump HotKeySet("{v}") Send("{0}") Sleep(1600) Send ("{w down}") Sleep(70) Send("{space}") Send("{w up}") HotKeySet("{v}", "jump") idle() EndFunc Func idle(); idle, do nothing while 1 Sleep (1000) WEnd EndFunc Func unbind(); unbind keys HotKeySet("{v}") HotKeySet("{PAUSE}", "unbind") idle() EndFunc Func rebind() ; rebind keys HotKeySet("{v}", "jump") HotKeySet("{PAUSE}", "rebind") idle() EndFunc idle() Thanks, VII
Fr33b0w Posted July 10, 2010 Author Posted July 10, 2010 Hello, new to AutoIt. Hopefully someone can help me with this. When I leave my client window, and move to another program, the Autoit pauses, but when I comeback it won't unpause. It appears to be unpaused, but the original client that I'm using the AutoIt for, it won't unpause there. But I can tell it is still active when I go to type in other areas. Thanks, VIIIt would be better if you did made new topic... I think somebody would answer You... Mine problem was that if i pause script hotkeys would still work... So I guess I had to change those hotkeys to do nothing when in pause mode and to get them back when unpause. I made it happen with another active script and hotkey which would start again that script and a hotkey in main script to get out of the script. That way it all worked for me...
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