Como saber quando um usuário pressionou uma tecla pela última vez (ou moveu o mouse)?

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

  •  08-06-2019
  •  | 
  •  

Pergunta

Em um ambiente Win32, você pode usar a chamada da API GetLastInputInfo em Documentação da Microsoft.Basicamente, este método retorna o último tick que corresponde a quando o usuário forneceu a entrada pela última vez, e você deve compará-lo com o tick atual para determinar há quanto tempo isso aconteceu.

Xavi23cr tem um bom exemplo para C# em projeto de código.

Alguma sugestão para outros ambientes?

Nenhuma solução correta

Outras dicas

Quanto ao Linux, sei que o Pidgin precisa determinar o tempo ocioso para alterar seu status para ausente após um determinado período de tempo.Você pode abrir o código-fonte e ver se consegue encontrar o código que faz o que você precisa.

Você parece ter respondido sua própria pergunta, Nathan ;-) "GetLastInputInfo" é o caminho a percorrer.

Um truque é que, se seu aplicativo estiver sendo executado na área de trabalho e o usuário se conectar a uma máquina virtual, GetLastInputInfo não reportará nenhuma atividade (já que não há atividade na máquina host).

Isso pode ser diferente do comportamento desejado, dependendo de como você deseja aplicar a entrada do usuário.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top