Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > AutoIt
You last visited: Today at 00:54

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



afk erkennen

Discussion on afk erkennen within the AutoIt forum part of the Coders Den category.

Reply
 
Old   #1
 
Achat's Avatar
 
elite*gold: 528
Join Date: Jan 2012
Posts: 2,127
Received Thanks: 2,403
afk erkennen

Hi, und zwar möchte ich mit AutoIt herausfinden, ob der Benutzer des Computers afk (nicht da) ist.





Wenn der Benutzer für X Sekunden/Minuten nicht da ist, dann soll eine Funktion ausgeführt werden. Wie kann ich nun herausfinden, ob der Benutzer afk ist? Und wie lange er schon afk ist?

Ich könnte ja mit _IsPressed jede Taste abfragen, aber das würde bestimmt viel CPU-Last verursachen.

Hat jemand eine Idee?

MfG
Achat is offline  
Old 11/14/2012, 23:24   #2
 
Melodead's Avatar
 
elite*gold: 27
Join Date: May 2008
Posts: 2,768
Received Thanks: 618
Kommt drauf an was du unter afk verstehst es gibt einmal die möglichkeit es direkt für Skype zu machen also wenn er in Skype afk ist oder die möglich zu sehen das er garnicht da ist sprich nichts am pc mach für das zweite is es aber nötig im das prog zu schicken und nicht unter zu jubeln ^^
Melodead is offline  
Old 11/14/2012, 23:41   #3
 
Croco™'s Avatar
 
elite*gold: 235
Join Date: Jan 2012
Posts: 920
Received Thanks: 377
Naja ich denke das einfachste wäre die Mausposition abzufragen.
Bewegt sich diese innerhalb einer bestimmten Zeit nicht aus einem Bestimmten Raum hinaus, scheint der User afk zu sein.

Edit: Hab das gerade gefunden
PHP Code:
#include <Date.au3>

HotKeySet("{ESC}""_Quit")

$IdleMinimum 50

While 1
    $iIdle 
_IdleWaitStart($IdleMinimum)
    
ConsoleWrite(_Now() & ' ' & @UserName ' not active ' _TickToTimeString($iIdle) & @CRLF)
    
$iIdle _IdleWaitCommit($IdleMinimum)
    
ConsoleWrite(_Now() & ' ' & @UserName ' was inactive ' _TickToTimeString($iIdle) & @CRLF)
WEnd

Func _IdleWaitStart
($idlesec)
    
Local $aRet$iSave$iTick$LastInputInfo DllStructCreate("uint;dword")
    
DllStructSetData($LastInputInfo1DllStructGetSize($LastInputInfo))
    
DllCall("user32.dll""int""GetLastInputInfo""ptr"DllStructGetPtr($LastInputInfo))
    
    Do
        
Sleep(200)
        
$iSave DllStructGetData($LastInputInfo2)
        
DllCall("user32.dll""int""GetLastInputInfo""ptr"DllStructGetPtr($LastInputInfo))
        
$aRet DllCall("kernel32.dll""long""GetTickCount")
    
Until ($aRet[0] - DllStructGetData($LastInputInfo2)) > $idlesec

    
Return $aRet[0] - DllStructGetData($LastInputInfo2)
EndFunc   ;==>_IdleWaitStart

Func _IdleWaitCommit
($idlesec)
    
Local $iSave$LastInputInfo DllStructCreate("uint;dword")
    
DllStructSetData($LastInputInfo1DllStructGetSize($LastInputInfo))
    
DllCall("user32.dll""int""GetLastInputInfo""ptr"DllStructGetPtr($LastInputInfo))
    
    Do
        
$iSave DllStructGetData($LastInputInfo2)
        
Sleep(200)
        
DllCall("user32.dll""int""GetLastInputInfo""ptr"DllStructGetPtr($LastInputInfo))
    
Until (DllStructGetData($LastInputInfo2) - $iSave) > $idlesec
    
    
Return DllStructGetData($LastInputInfo2) - $iSave
EndFunc   
;==>_IdleWaitCommit

Func _TickToTimeString
($iTicks)
    
Local $iHours$iMins$iSecs$sText ''
    
_TicksToTime($iTicks$iHours$iMins$iSecs)
    
    If 
$iHours Then $sText $iHours ' hours '
    
If $iMins Then $sText &= $iMins ' minutes '
    
If $iSecs Then $sText &= $iSecs ' seconds'
    
If $sText '' Then $sText 'less than a second'
    
    
Return $sText
EndFunc   
;==>_TickToTimeString

Func _Quit
()
    Exit
EndFunc   ;==>_Quit 
Croco™ is offline  
Old 11/15/2012, 09:10   #4

 
Futur94's Avatar
 
elite*gold: 0
Join Date: Aug 2011
Posts: 263
Received Thanks: 177
So müsste es auch gehen denke ich:

Code:
#include <Timers.au3>
SplashTextOn("_Timer_GetIdleTime-Beispiel","Bitte 10 Sekunden warten...",300,50,-1,-1,34,'',14,800)

; Maus- oder Tastaturaktionen während dieser 10 Sekunden beeinflussen die berichtete Leerlaufzeit
Sleep(10 * 1000); 10sec
SplashOff()

Global $iIdleTime = _Timer_GetIdleTime()

MsgBox(64, "_Timer_GetIdleTime", "Leerlaufzeit = " & $iIdleTime & "ms")
Futur94 is offline  
Thanks
3 Users
Old 11/16/2012, 22:58   #5
 
elite*gold: 0
Join Date: Oct 2012
Posts: 52
Received Thanks: 11
Hi, ich bin zwar kein Kenner in diesem Thema und du hast mir ja auch schon geholfen in Skype. Es gibt doch aber eine Möglichkeit, abzufragen, ob sich ein Bereich von Pixeln geändert hat. Wenn man diesen Bereich um die Maus setzt müsste man doch feststellen können, ob der User etwas tut oder eben nicht.
Klugscheißer is offline  
Reply

Tags
afk


Similar Threads Similar Threads
Hacker erkennen ?
04/07/2015 - WarRock - 11 Replies
Hey gibts ne möglichkeit hacker zu erkännen zb. das der name ingame rot leuchtet oder so gibs das ?? :mofo::mofo::mofo::mofo::mofo::mofo::mofo::mofo:: mofo::mofo::mofo::mofo::mofo::mofo::mofo::mofo::mo fo::mofo::mofo::mofo::mofo::mofo::mofo::mofo::mofo ::mofo::mofo:
[F] Lua Kommazahl erkennen
05/26/2012 - Metin2 Private Server - 1 Replies
Hey, ich hätte da mal eine Frage bezüglich Lua. Gibt es vorgefertigte Funktion die es einem erlaubt zu erkennen ob eine Variable eine Kommazahl oder eine natürliche Zahl ist?
GM's erkennen
08/17/2011 - Metin2 Private Server - 4 Replies
Hi, wollte mal fragen ob man es irgendwie hinbekommt den client so zu verändern das man GM's die sich mit /in unsichtbar gemacht haben sehen kann. Das intressiert mich weil ich der Meinung bin das ich machenmal vor GM's lauf, denn ich weiß das man die GM's immernoch "da" sind .. und manchmal ist lauf ich eben gegen eine Unsichtbare Mauer ^^ MfG eliteplayer123
lc Ger hack erkennen
05/24/2011 - Last Chaos - 6 Replies
hi, ich habe eine frage, was die hackerkennung auf lc ger betrifft. kann gaymigo anhand von log dateien erkennen, ob man gehackt hat, also trainer genutzt hat? also, bezogen auf den neuen server harwin z.b. als er gestartet ist, habe ich ein paar hacks genutzt und somit ein paar dc's, und nun nutze ich aber keine mehr. und wenn ich theoretisch 1-3ter werde bei diesem "gewinnevent", meint ihr, die prüfen das dann nach.... und wenn, können die so etwas bestimmen. waren ja nur harmlose dinge,...
wie erkennen gms das man bot hat
12/11/2008 - Nostale - 17 Replies
wie erkennen GMs das man bot benutzt?



All times are GMT +1. The time now is 00:55.


Powered by vBulletin®
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2025 elitepvpers All Rights Reserved.