Raizeno Posted October 31, 2014 Share Posted October 31, 2014 Greetings people ! Can you guys help me out im trying to make an adlib function that detects if mouse pointer has been in the same location for more than 10 seconds . The thing is it has to be an adlibregister function so that my script continues to run in paralel and not interupt the main script for to long . I thought adlibregister would be the best solution to build this but is there any other way to get mouse idle duration or something like that from the system ? Or any other way you might know ? Link to comment Share on other sites More sharing options...
kylomas Posted October 31, 2014 Share Posted October 31, 2014 Are you trying to detect idle time or just mouse movement? Forum Rules Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
Raizeno Posted October 31, 2014 Author Share Posted October 31, 2014 (edited) Are you trying to detect idle time or just mouse movement? im trying to detect if the mouse is not moving for more than 10 seconds so that I can send some commands that will unstuck my script . Edited October 31, 2014 by Raizeno Link to comment Share on other sites More sharing options...
kylomas Posted October 31, 2014 Share Posted October 31, 2014 It might be better to find out why your script freezes. What are you trying to automate / control? Forum Rules Procedure for posting code "I like pigs. Dogs look up to us. Cats look down on us. Pigs treat us as equals." - Sir Winston Churchill Link to comment Share on other sites More sharing options...
Raizeno Posted October 31, 2014 Author Share Posted October 31, 2014 Ok ill recheck the whole script but wanted to do this to be like a debugging function . Im trying to automate an android emulator . Link to comment Share on other sites More sharing options...
johnmcloud Posted October 31, 2014 Share Posted October 31, 2014 (edited) Maybe something like: HotKeySet("{ESC}", "_Exit") Global $iTimer = 0 AdlibRegister("_MouseIdle") While 1 Sleep(10) WEnd Func _MouseIdle() Local $iSec = 10 $aLastPos = MouseGetPos() Sleep(1000) $aCurrPos = MouseGetPos() If $aLastPos[0] = $aCurrPos[0] And $aLastPos[1] = $aCurrPos[1] Then $tStill = TimerInit() While $aCurrPos[0] = $aLastPos[0] And $aCurrPos[1] = $aLastPos[1] If $iTimer = $iSec Then ConsoleWrite("Mouse in idle for..." & $iSec & " sec! IDLE TIME!" & @CR) $iTimer = 0 EndIf If TimerDiff($tStill) > 1000 Then $aCurrPos = MouseGetPos() $tStill = TimerInit() $iTimer += 1 If $iTimer <> $iSec Then ConsoleWrite("Mouse in idle for..." & $iTimer & " sec" & @CR) EndIf Sleep(10) WEnd ConsoleWrite("Mouse is moving: X: " & $aCurrPos[0] & " Y: " & $aCurrPos[1] & @CR) $iTimer = 0 EndFunc ;==>_MouseIdle Func _Exit() Exit EndFunc ;==>_Exit Edited October 31, 2014 by johnmcloud Link to comment Share on other sites More sharing options...
guinness Posted October 31, 2014 Share Posted October 31, 2014 Check out _IdleTime() in my signature. UDF List: _AdapterConnections() • _AlwaysRun() • _AppMon() • _AppMonEx() • _ArrayFilter/_ArrayReduce • _BinaryBin() • _CheckMsgBox() • _CmdLineRaw() • _ContextMenu() • _ConvertLHWebColor()/_ConvertSHWebColor() • _DesktopDimensions() • _DisplayPassword() • _DotNet_Load()/_DotNet_Unload() • _Fibonacci() • _FileCompare() • _FileCompareContents() • _FileNameByHandle() • _FilePrefix/SRE() • _FindInFile() • _GetBackgroundColor()/_SetBackgroundColor() • _GetConrolID() • _GetCtrlClass() • _GetDirectoryFormat() • _GetDriveMediaType() • _GetFilename()/_GetFilenameExt() • _GetHardwareID() • _GetIP() • _GetIP_Country() • _GetOSLanguage() • _GetSavedSource() • _GetStringSize() • _GetSystemPaths() • _GetURLImage() • _GIFImage() • _GoogleWeather() • _GUICtrlCreateGroup() • _GUICtrlListBox_CreateArray() • _GUICtrlListView_CreateArray() • _GUICtrlListView_SaveCSV() • _GUICtrlListView_SaveHTML() • _GUICtrlListView_SaveTxt() • _GUICtrlListView_SaveXML() • _GUICtrlMenu_Recent() • _GUICtrlMenu_SetItemImage() • _GUICtrlTreeView_CreateArray() • _GUIDisable() • _GUIImageList_SetIconFromHandle() • _GUIRegisterMsg() • _GUISetIcon() • _Icon_Clear()/_Icon_Set() • _IdleTime() • _InetGet() • _InetGetGUI() • _InetGetProgress() • _IPDetails() • _IsFileOlder() • _IsGUID() • _IsHex() • _IsPalindrome() • _IsRegKey() • _IsStringRegExp() • _IsSystemDrive() • _IsUPX() • _IsValidType() • _IsWebColor() • _Language() • _Log() • _MicrosoftInternetConnectivity() • _MSDNDataType() • _PathFull/GetRelative/Split() • _PathSplitEx() • _PrintFromArray() • _ProgressSetMarquee() • _ReDim() • _RockPaperScissors()/_RockPaperScissorsLizardSpock() • _ScrollingCredits • _SelfDelete() • _SelfRename() • _SelfUpdate() • _SendTo() • _ShellAll() • _ShellFile() • _ShellFolder() • _SingletonHWID() • _SingletonPID() • _Startup() • _StringCompact() • _StringIsValid() • _StringRegExpMetaCharacters() • _StringReplaceWholeWord() • _StringStripChars() • _Temperature() • _TrialPeriod() • _UKToUSDate()/_USToUKDate() • _WinAPI_Create_CTL_CODE() • _WinAPI_CreateGUID() • _WMIDateStringToDate()/_DateToWMIDateString() • Au3 script parsing • AutoIt Search • AutoIt3 Portable • AutoIt3WrapperToPragma • AutoItWinGetTitle()/AutoItWinSetTitle() • Coding • DirToHTML5 • FileInstallr • FileReadLastChars() • GeoIP database • GUI - Only Close Button • GUI Examples • GUICtrlDeleteImage() • GUICtrlGetBkColor() • GUICtrlGetStyle() • GUIEvents • GUIGetBkColor() • Int_Parse() & Int_TryParse() • IsISBN() • LockFile() • Mapping CtrlIDs • OOP in AutoIt • ParseHeadersToSciTE() • PasswordValid • PasteBin • Posts Per Day • PreExpand • Protect Globals • Queue() • Resource Update • ResourcesEx • SciTE Jump • Settings INI • SHELLHOOK • Shunting-Yard • Signature Creator • Stack() • Stopwatch() • StringAddLF()/StringStripLF() • StringEOLToCRLF() • VSCROLL • WM_COPYDATA • More Examples... Updated: 22/04/2018 Link to comment Share on other sites More sharing options...
Bert Posted October 31, 2014 Share Posted October 31, 2014 Ok ill recheck the whole script but wanted to do this to be like a debugging function . Im trying to automate an android emulator . And what is the app you are running in the Android emulator? I'm curious on how you do that. Looking to learn here. The Vollatran project My blog: http://www.vollysinterestingshit.com/ Link to comment Share on other sites More sharing options...
Raizeno Posted October 31, 2014 Author Share Posted October 31, 2014 Maybe something like: HotKeySet("{ESC}", "_Exit") Global $iTimer = 0 AdlibRegister("_MouseIdle") While 1 Sleep(10) WEnd Func _MouseIdle() Local $iSec = 10 $aLastPos = MouseGetPos() Sleep(1000) $aCurrPos = MouseGetPos() If $aLastPos[0] = $aCurrPos[0] And $aLastPos[1] = $aCurrPos[1] Then $tStill = TimerInit() While $aCurrPos[0] = $aLastPos[0] And $aCurrPos[1] = $aLastPos[1] If $iTimer = $iSec Then ConsoleWrite("Mouse in idle for..." & $iSec & " sec! IDLE TIME!" & @CR) $iTimer = 0 EndIf If TimerDiff($tStill) > 1000 Then $aCurrPos = MouseGetPos() $tStill = TimerInit() $iTimer += 1 If $iTimer <> $iSec Then ConsoleWrite("Mouse in idle for..." & $iTimer & " sec" & @CR) EndIf Sleep(10) WEnd ConsoleWrite("Mouse is moving: X: " & $aCurrPos[0] & " Y: " & $aCurrPos[1] & @CR) $iTimer = 0 EndFunc ;==>_MouseIdle Func _Exit() Exit EndFunc ;==>_Exit yeah nice ideea but i cant have something with sleep in an adlibregister() cause that will make my script pause forever Link to comment Share on other sites More sharing options...
Raizeno Posted October 31, 2014 Author Share Posted October 31, 2014 (edited) Check out _IdleTime() in my signature. Thank you very much Guinness ! After looking trought that post it seem that all i needed was something like #include <Timers.au3> _Timer_GetIdleTime ( ) adlibregister("idle") func idle() $iIdleTime = _Timer_GetIdleTime() $iIdleTime = $iIdleTime / 1000 If $iIdleTime >= 10 Then ConsoleWrite('$iIdleTime >= 10 '& @SEC &@CRLF) Enter() EndIf endfunc Edited October 31, 2014 by Raizeno Link to comment Share on other sites More sharing options...
Raizeno Posted October 31, 2014 Author Share Posted October 31, 2014 And what is the app you are running in the Android emulator? I'm curious on how you do that. Looking to learn here. well i'm trying to automate the android emulator itself to move trough different accounts 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