steve20020 Posted July 8, 2013 Share Posted July 8, 2013 (edited) Hi All, I am pretty new to this and still learning so please take it easy.. I am writing a small script to jiggle the mouse (always so that the screen does not lock) and then execute a few functions such as sending keys and starting batch scripts.. I am struggling as I seem to be stuck in a loop and cant work out how to do things differently. I have included the code below.. expandcollapse popup#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #Region ### START Koda GUI section ### Form= $Form1 = GUICreate("Form1", 143, 178, 192, 124) $JiggleMouseCB = GUICtrlCreateCheckbox("Jiggle Mouse", 24, 48, 97, 17) $SendKeysCB = GUICtrlCreateCheckbox("SendKeys", 24, 72, 97, 17) $RunBT = GUICtrlCreateButton("RunBT", 32, 112, 75, 25) GUISetState(@SW_SHOW) #EndRegion ### END Koda GUI section ### Func ReadInputs() Global $sendkeysCBVar = GUICtrlRead($SendKeysCB) Global $JiggleMouseCBVar = GUICtrlRead($JiggleMouseCB) EndFunc While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $RunBT Call("ReadInputs") Call("Processes") EndSwitch WEnd Func Processes() ; The mouse jiggler works but i get stuck in this loop and cannot do the next operation if $JiggleMouseCBVar = 1 then call ("mouseJigllo") EndIf if $sendkeysCBVar = 1 then call ("sendkeys") EndIf EndFunc Func mouseJigllo() While 1 ; something about this breaks the script I think it is because it is an infinite loop and in order to shut down the script its process has to be ended $Checked = GUICtrlRead($JiggleMouseCB) If $Checked = 1 Then Sleep (10000) MouseMove(50, 50, 100) MouseMove(80, 60, 100) ElseIf $Checked<>1 Then Sleep(10000) EndIf WEnd EndFunc Func SendKeys() WinActivate("LDEP") WinWait("", "", 10) Send("!f") WinWait("", "", 10) Send("p") WinWait("", "", 10) EndFuncif anyone could offer me any advice it would be much appreciated.. Thanks in advance Steve Edited July 8, 2013 by Melba23 Added tags Link to comment Share on other sites More sharing options...
Moderators Solution Melba23 Posted July 8, 2013 Moderators Solution Share Posted July 8, 2013 steve20020,I would do it like this: expandcollapse popup#include <GUIConstantsEx.au3> $Form1 = GUICreate("Form1", 143, 178, 192, 124) $JiggleMouseCB = GUICtrlCreateCheckbox("Jiggle Mouse", 24, 48, 97, 17) $SendKeysCB = GUICtrlCreateCheckbox("SendKeys", 24, 72, 97, 17) $RunBT = GUICtrlCreateButton("RunBT", 32, 112, 75, 25) GUISetState(@SW_SHOW) While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $RunBT Processes() EndSwitch WEnd Func Processes() If GUICtrlRead($JiggleMouseCB) = 1 Then ConsoleWrite("Jiggling activated at " & @SEC & "!" & @CRLF) AdlibRegister("mouseJigllo", 10000) Else ConsoleWrite("Jiggling cancelled!" & @CRLF) AdlibUnRegister("mouseJigllo") EndIf If GUICtrlRead($SendKeysCB) = 1 Then SendKeys() EndIf EndFunc ;==>Processes Func mouseJigllo() ConsoleWrite("Jiggling at " & @SEC & "!" & @CRLF) ;MouseMove(50, 50, 100) ;MouseMove(80, 60, 100) EndFunc ;==>mouseJigllo Func SendKeys() ConsoleWrite("Sending!" & @CRLF) ;WinActivate("LDEP") ;WinWait("", "", 10) ;Send("!f") ;WinWait("", "", 10) ;Send("p") ;WinWait("", "", 10) EndFunc ;==>SendKeysAll clear? M23P.S. When you post code please use Code tags - see here how to do it. Then you get a scrolling box and syntax colouring as you can see above now I have added the tags. 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 Link to comment Share on other sites More sharing options...
BrewManNH Posted July 8, 2013 Share Posted July 8, 2013 Looks like we came up with the same basic idea for this. expandcollapse popup#include <ButtonConstants.au3> #include <GUIConstantsEx.au3> #include <WindowsConstants.au3> #region ### START Koda GUI section ### Form= Global $sendkeysCBVar, $JiggleMouseCBVar $Form1 = GUICreate("Form1", 143, 178, 192, 124) $JiggleMouseCB = GUICtrlCreateCheckbox("Jiggle Mouse", 24, 48, 97, 17) $SendKeysCB = GUICtrlCreateCheckbox("SendKeys", 24, 72, 97, 17) $RunBT = GUICtrlCreateButton("RunBT", 32, 112, 75, 25) GUISetState(@SW_SHOW) #endregion ### END Koda GUI section ### While 1 $nMsg = GUIGetMsg() Switch $nMsg Case $GUI_EVENT_CLOSE Exit Case $RunBT If GUICtrlRead($JiggleMouseCB) = $GUI_CHECKED Then Adlibregister("mouseJigllo", 10000) ; move the mouse every 10 seconds Else AdlibUnRegister("mouseJigllo") ; stop moving the mouse EndIf If GUICtrlRead($SendKeysCB) = $GUI_CHECKED Then SendKeys() EndIf EndSwitch WEnd Func mouseJigllo() MouseMove(50, 50, 100) MouseMove(80, 60, 100) EndFunc ;==>mouseJigllo Func SendKeys() WinActivate("LDEP") WinWait("", "", 10) Send("!f") WinWait("", "", 10) Send("p") WinWait("", "", 10) EndFunc ;==>SendKeys steve20020 1 If I posted any code, assume that code was written using the latest release version unless stated otherwise. Also, if it doesn't work on XP I can't help with that because I don't have access to XP, and I'm not going to.Give a programmer the correct code and he can do his work for a day. Teach a programmer to debug and he can do his work for a lifetime - by Chirag GudeHow to ask questions the smart way! I hereby grant any person the right to use any code I post, that I am the original author of, on the autoitscript.com forums, unless I've specifically stated otherwise in the code or the thread post. If you do use my code all I ask, as a courtesy, is to make note of where you got it from. Back up and restore Windows user files _Array.au3 - Modified array functions that include support for 2D arrays. - ColorChooser - An add-on for SciTE that pops up a color dialog so you can select and paste a color code into a script. - Customizable Splashscreen GUI w/Progress Bar - Create a custom "splash screen" GUI with a progress bar and custom label. - _FileGetProperty - Retrieve the properties of a file - SciTE Toolbar - A toolbar demo for use with the SciTE editor - GUIRegisterMsg demo - Demo script to show how to use the Windows messages to interact with controls and your GUI. - Latin Square password generator Link to comment Share on other sites More sharing options...
Moderators Melba23 Posted July 8, 2013 Moderators Share Posted July 8, 2013 BrewManNH,Great minds probably - at least I hope it is not the corollary. M23 BrewManNH 1 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 Link to comment Share on other sites More sharing options...
DW1 Posted July 8, 2013 Share Posted July 8, 2013 I read that function as mouse gigolo. Had a good laugh... realized I was a nerd, then had a good cry. I'll be here all week. AutoIt3 Online Help Link to comment Share on other sites More sharing options...
steve20020 Posted July 9, 2013 Author Share Posted July 9, 2013 Melba23 & BrewManNH Many thanks for your help.. This now makes sense to me and I've learnt something new.. AdlibRegister Apologies for not using code tags - newb mistake, I have now read the instructions posted by Jon and will not make the same mistake in future.. Danwilli - I did write it with that in mind sad but true, funny variable names keep me happy when my scripting ability fails me! 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