Pergunta

Existe alguma documentação na internet que mostra que o Windows altera o comportamento do NotifyIcon.BalloonTipShown comando se o usuário está inativo e esta é detectados pela verificação de eventos do mouse e do teclado.Atualmente, estou trabalhando em um aplicativo que passa a maior parte do tempo na bandeja de sistema, mas de pop-ups várias dicas de balão ao longo do tempo e gostaria de impedir que o usuário, desde a falta de qualquer deles, se eles estão atualmente fora do sistema.Uma vez que qualquer exibido atualmente as dicas de balão são destruídas se um novo é apresentado, eu quero segurar em exibi-los se o usuário estiver ausente.

Como tal, existe alguma maneira de verificar se o usuário está inativo se o aplicativo é minimizado para a bandeja do sistema?

Foi útil?

Solução

Como sobre o Win32 LASTINPUTINFO função?

using System.Runtime.InteropServices;

[DllImport("User32.dll")] 
static extern bool GetLastInputInfo(ref LASTINPUTINFO plii);

struct LASTINPUTINFO 
{
    public uint cbSize;
    public uint dwTime;
}

Outras dicas

Código gerido

Verificar a posição do mouse a cada segundo.Se existem novas mensagens para o usuário, segurá-los até que você detectar qualquer movimento com o mouse.

O código não gerenciado

Ver Detectar o Tempo de Inactividade com o Mouse e o Teclado Ganchos

Obrigado pelas respostas, eu acabei indo com o GetLastInputInfo função como ele é bastante simples de implementar na aplicação que estou a trabalhar.

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