Come puoi sapere quando un utente ha premuto per l'ultima volta un tasto (o spostato il mouse)?

StackOverflow https://stackoverflow.com/questions/2709

  •  08-06-2019
  •  | 
  •  

Domanda

In un ambiente Win32 è possibile utilizzare la chiamata API GetLastInputInfo in documentazione Microsoft.Fondamentalmente, questo metodo restituisce l'ultimo segno di spunta che corrisponde a quando l'utente ha fornito l'ultimo input e devi confrontarlo con il segno di spunta corrente per determinare quanto tempo fa è stato.

Xavi23cr ha un buon esempio per C# in codeproject.

Qualche suggerimento per altri ambienti?

Nessuna soluzione corretta

Altri suggerimenti

Per quanto riguarda Linux, so che Pidgin deve determinare il tempo di inattività per modificare il tuo stato in assente dopo un certo periodo di tempo.Potresti aprire il sorgente e vedere se riesci a trovare il codice che fa quello che ti serve.

Sembra che tu abbia risposto alla tua domanda lì Nathan ;-) "GetLastInputInfo" è la strada da percorrere.

Un trucco è che se l'applicazione è in esecuzione sul desktop e l'utente si connette a una macchina virtuale, GetLastInputInfo non segnalerà alcuna attività (poiché non vi è alcuna attività sulla macchina host).

Questo può essere diverso dal comportamento desiderato, a seconda di come desideri applicare l'input dell'utente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top