PhoenixXL Posted April 6, 2012 Posted April 6, 2012 HEy!! Every1 I've made a UDF for a Func 2 Start whenever the computer gets Idle for the specified amount of time......... Hope that u find it helpful........... Any Modifications for betterment are welcomed.......... Enjoy!! expandcollapse popup#cs #FUNCTION# ================================================================================================================= Name...........: _GetIdleTime() Description ...: (Can Execute A Function) When The User Is Idle For Specified Amount Of Time Syntax.........: _GetIdleTime($Time,$Return=0) Parameters ....: $Time = The Amount Of Time to Check The User To be Idle.... $Return = 1 Return The Func Immediately if The User is not Idle $Return = 0 Wait For The User To Get Idle For Specified Amount of Time and Then Return Returns........: Success = 0 Failure(The User Wasnt Idle For The Specified Amount of Time , Applicable only When $Return=1) = 1 Unable To call User32.dll = -1 Unable To create Dll Structure = -2 Author ........: Abhishek Remarks .......: To Execute a Func When The User is Not Idle Call a Func in [Section] Example .......: _Example() #ce ================================================================================================================= Func _GetIdleTime($Time,$Return=0) Local $ISAVE, $LASTINPUTINFO = DllStructCreate("uint;dword"), $TRACE = 0 If $LASTINPUTINFO=0 Then Return -2 DllStructSetData($LASTINPUTINFO, 1, DllStructGetSize($LASTINPUTINFO)) DllCall("user32.dll", "int", "GetLastInputInfo", "ptr", DllStructGetPtr($LASTINPUTINFO)) If @error Then Return -1 While $TRACE <= $Time $ISAVE = DllStructGetData($LASTINPUTINFO, 2) Sleep(1000) DllCall("user32.dll", "int", "GetLastInputInfo", "ptr", DllStructGetPtr($LASTINPUTINFO)) Switch Floor(DllStructGetData($LASTINPUTINFO, 2) / 1000) - Floor($ISAVE / 1000) Case 0 $TRACE += 1 Case Else $TRACE = 0 Switch $Return Case 0 ;[Section] Stuff to do when the user is not Idle Case 1 Return 1 EndSwitch EndSwitch WEnd ;Call($FuncName) ;Stuff to do when the user is Idle for the specified amount of time Return 0 EndFunc ; ================================================================================================================= _Example() Func _Example() Sleep(5000) Switch _GetIdleTime(10,1) Case 0 MsgBox(0,"Information",'The User Was Idle For 10 Secs.......') Case 1 MsgBox(0,"Information","The User Wasn't Idle For 10 Secs.......") EndSwitch EndFunc ; ================================================================================================================= My code: PredictText: Predict Text of an Edit Control Like Scite. Remote Gmail: Execute your Scripts through Gmail. StringRegExp:Share and learn RegExp.Run As System: A command line wrapper around PSEXEC.exe to execute your apps scripts as System (LSA). Database: An easier approach for _SQ_LITE beginners. MathsEx: A UDF for Fractions and LCM, GCF/HCF. FloatingText: An UDF for make your text floating. Clipboard Extendor: A clipboard monitoring tool. Custom ScrollBar: Scroll Bar made with GDI+, user can use bitmaps instead. RestrictEdit_SRE: Restrict text in an Edit Control through a Regular Expression.
JohnOne Posted April 6, 2012 Posted April 6, 2012 There is an example scripts forum for these kinds of posts. They will get little if any attention here. I suggest you ask a moderator to move them. AutoIt Absolute Beginners Require a serial Pause Script Video Tutorials by Morthawt ipify Monkey's are, like, natures humans.
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