- Offizieller Beitrag
Hallo,
Hab mir selbst eine kleine UDF geschrieben, mit der man den Idle Status hooken kann.
Im Klaartext: Man kann eine Funktion aufrufen lassen wenn
- Der Benutzer am PC seit einer bestimmten Zeit inaktiv ist
- Der Benutzer nach dieser Zeit wieder aktiv ist (also wieder da ist)
Es ist wirklich eine... Ich will nicht sagen miserable, aber doch schon eine ziemlich Schmutzige Umsetzung, hab leider kein anderen Weg gefunden um das zu realisieren.
Ich hoffe ihr könnt es trotzdem gebrauchen.
Momentane Version: 1.0
Beispiel (auch in der ZIP)
Spoiler anzeigen
#include <WindowsConstants.au3>
#include <StaticConstants.au3>
#include "IdleIt.au3"
HotKeySet("{ESC}","_exit")
[/autoit] [autoit][/autoit] [autoit]_IdleIt_Initalize(5);When nothing happen in 5 seconds, the IDLE Func will call
_IdleIt_Hook($IDLEIT_IDLE,"_idle");Hook the Idle func
_IdleIt_Hook($IDLEIT_BACK,"_back"); hook the back func
;just create a small example gui
$hMain = GUICreate("",@DesktopWidth,@DesktopHeight,0,0,$WS_POPUP,$WS_EX_TOPMOST)
GUICtrlCreateLabel("Move mouse or type keyboard or whatever to unlock screen"&@CRLF&"ESC to Exit",0,(@DesktopHeight/2) - 50,@DesktopWidth,100,$SS_CENTER)
GUICtrlSetColor(-1,0xffffff)
guictrlsetfont(-1,30)
WinSetTrans($hMain,"",0)
GUISetBkColor(0)
;and now.... do nothing
While 1
Sleep(1000)
WEnd
Func _idle()
;ah, it seems like the user is away... lets show the black gui
GUISetState()
For $i = 0 To 150 Step 5
WinSetTrans($hMain,"",$i)
Sleep(10)
Next
EndFunc
Func _back()
;Oh! Welcome back user! Hide the balck gui now
For $i = 150 To 0 Step -5
WinSetTrans($hMain,"",$i)
Sleep(10)
Next
GUISetState(@SW_HIDE)
EndFunc
Func _exit()
;bye for now
Exit
EndFunc
Gruß
Spider