Comandi dell'utente

sabato 23 ottobre 2004 - 19.21

forno Profilo | Junior Member

Ciao a tutti.
Vorrei sapere se esiste una funzione per capire quando l'utente dove sta girando l'applicazione rimane fermo (non usa mouse, tastiera o altri dispositivi) per almeno 1 minuto.
Potete aiutarmi?

Andy Profilo | Senior Member

Ciao..la prima cosa che mi viene in mente è associare un timer all'evento Idle (posto come da MSDN):


Evento Application.Idle

Viene generato quando l'applicazione conclude l'elaborazione e sta per entrare nello stato inattivo.

[Visual Basic]
Public Shared Event Idle As EventHandler

[C#]
public static event EventHandler Idle;

[C++]
public: static __event EventHandler* Idle;

[JScript] In JScript è possibile gestire gli eventi definiti da una classe, ma non è possibile definirne di personalizzati.

Dati evento
Il gestore eventi riceve un argomento di tipo EventArgs.

Osservazioni
Se è necessario eseguire delle attività prima che il thread diventi inattivo, associarle a questo evento.


Come usarlo di preciso non lo so nemmeno io, ma credo sia questa la strada da seguire..

Brainkiller Profilo | Guru

Ciao Forno,
un altra che mi viene in mente è verificare la posizione del mouse costantemente. Se resta nelle stesse coordinate per oltre un minuto significa che il mouse è rimasto fermo. Analogamente puoi fare con la tastiera.

Puoi usare questa API GetCursorPos qui documentata:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winui/WinUI/WindowsUserInterface/Resources/Cursors/CursorReference/CursorFunctions/GetCursorPos.asp

ciao
david

forno Profilo | Junior Member

Visto, però non ho capito come la richiamo!
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5