Desenvolvimento - C#
Pegando o horário inicial e final do uso do Windows usando C#
Nesse exemplo básico, vamos recuperar as informações vindas quando usuário entra e sai do Windows, são horários úteis quando se deseja realizar auditoria do uso do sistema operacional.
por Ediberto AlvesQuando um usuário inicia o Windows e vai trabalhando durante o dia, um valor é registrado na chave do registro. Para verificarmos isso, no editor de registros(regedit) procure:
HKEY_LOCAL_MACHINE > Software -> Microsoft -> Windows NT -> CurrentVersion -> Prefetcher
Lá encontraremos duas chaves; StartTime,
que registra a data que a sessão foi iniciada e EndTime, que registra a
data que a sessão do Windows foi encerrado.
Vamos nesse exemplo recuperar o registro na Prefetcher
Criando o Projeto
Abra o Visual Studio e crie uma nova Windows Forms Application
Adicione dois Labels e dois Textboxes no form:
Vamos criar dois métodos, o primeiro vai recuperar as informações provenientes do editor de registro e o segundo método
irá formatar a data que originalmente está no formato Ano/Mês/Dia para o formato brasileiro, Dia/Mês/Ano.
Adicione a using Microsoft.Win32.
No método recuperaTempoUso
public
void recuperaTempoUso()
{
RegistryKey regkey;
// aponta a variavel o caminho do HKEY_LOCAL_MACHINE
regkey = Registry.LocalMachine.OpenSubKey(@"Software\Microsoft\Windows
NT\CurrentVersion\Prefetcher");
// atribui aos arrays a data vinda do registro
string[] SessaoInicial =
regkey.GetValue("StartTime").ToString().Split("-");
string[] SessaoFinal = regkey.GetValue("ExitTime").ToString().Split("-");
textBox1.Text = obtemDataFormatadaBr(SessaoInicial[0]) +" às
"+ SessaoInicial[1];
textBox2.Text = obtemDataFormatadaBr(SessaoFinal[0])+ " ás
"+ SessaoFinal[1];
}
E no método obtemDataFormatadaBr:
public
string obtemDataFormatadaBr(string pData)
{
return DateTime.Parse(pData).ToString("d");
}
No evento Load do Windows Forms:
private void Form1_Load(object sender, EventArgs e)
{
recuperaTempoUso();
}
Compile a solução e veja o resultado:
Lembrando que no campo Término consta a última vez que eu saí do Windows.
O mesmo pode ser conferido nas imagens abaixo, do editor de registro:
StartTime
ExitTime
Bom pessoal, espero que esse exemplo
possa ajudar. Principalmente quando necessitamos determinar auditorias e inventários
de uso.
Fiquem a vontade para implementar esse exemplo.
Para baixar, clique aqui