• Revista PROGRAMAR: Já está disponível a edição #53 da revista programar. Faz já o download aqui!

IcePicK

SystemEvents.SessionSwitch

1 mensagem neste tópico

Boas pessoal, é o meu primeiro post por aqui, ainda não conheço muito bem a casa e ainda sou um pouco verde em C# (.NET no geral).

Com o intuito de contabilizar as minhas horas de trabalho por dia (ou pelo menos o número de horas em que o computador está com a sessão aberta) andei a fazer umas experiencias.

O excerto de código abaixo funciona perfeitamente no meu computador e em computadores pessoais de alguns amigos.

//algures no código
SystemEvents.SessionSwitch += SystemEvents_SessionSwitch;

...

void SystemEvents_SessionSwitch(object sender, SessionSwitchEventArgs e) {
            if (e.Reason == SessionSwitchReason.SessionLock) {
                        //faz qualquer coisa
            }

            if (e.Reason == SessionSwitchReason.SessionUnlock)
                        //faz qualquer outra coisa
}

No entando nos computadores da empresa não tive muito sucesso :hmm:.

No meu computador, no trabalho, apenas tenho instalado o .NET 1.1 e sem permissões para actualizar, logo nem conseguiria correr o programa pois este evento só apareceu na versão 2.0.

Tentei num outro computador com a .NET Framework 2.0 instalada e comecei a ter outros problemas. Problemas de segurança, penso eu que seria por falta de permissoes.

Entretanto encontrei isto, mas ainda nao tive oportunidade de experimentar.

....
    SystemEvents.SessionSwitch += new
            SessionSwitchEventHandler (SystemEvents_SessionSwitch);
....
    // unhook static eventhandler when application terminates!!!
....
//Handle event
    static void SystemEvents_SessionSwitch(object sender, 
SessionSwitchEventArgs e)
    {
        Console.WriteLine("The session is switched. Reason={0}", e.Reason);
    }

Agora as minhas questões:

  • Será que isto funciona?
  • Se não funcionar quais as alternativas?
  • Se não conseguir obter permissões para instalar pelo menos a versão 2.0 da .NET FW como é que consigo ter o mesmo efeito com a versão 1.1?

Obrigado desde já.

0

Partilhar esta mensagem


Link para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!


Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.


Entrar Agora