IdleIt - Benutzer Inaktiv

    • 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
    [autoit]

    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>
    #include "IdleIt.au3"

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    ;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)

    [/autoit] [autoit][/autoit] [autoit]

    ;and now.... do nothing
    While 1
    Sleep(1000)
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit]

    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

    [/autoit] [autoit][/autoit] [autoit][/autoit] [autoit]

    Func _exit()
    ;bye for now
    Exit
    EndFunc

    [/autoit]

    Gruß
    Spider

  • Fürs englische Forum?
    Englisch = Weltsprache
    Deutsch=! Weltsprache

    MfG. tobi_girst

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobi_girst« (Morgen, 25:63)

  • Wir sind aber in einem deutschen Forum :)


    GtaSpider = angemeldet im englischen und deutschen Forum
    Skript = für beide Foren
    Übersetzen = keine Lust
    ==> Sprache = Englisch ;)
    (ist bei mir oft genauso)