Identificando eventos do sistema
É muito freqüente precisarmos identificar a ocorrência de eventos do sistema. Por exemplo, algumas aplicações dependem da hora do sistema e precisam se proteger caso o usuário resolva alterar o relógio do micro.
No Framework .NET nós temos a classe SystemEvents (Microsoft.Win32.SystemEvents) que contém diversos eventos do sistema, entre eles o evento TimeChanged, que identifica a alteração do relógio do sistema.
Podemos então, de forma bem simples, utilizar a instrução AddHandler e tratarmos este evento. Veja o exemplo:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
AddHandler Microsoft.Win32.SystemEvents.TimeChanged, AddressOf MudouHora
End Sub
Sub MudouHora(ByVal Sender As Object, ByVal e As System.EventArgs)
MsgBox("vc mudou o relógio !")
End Sub
A instrução AddHandler nos permite ligar uma Sub a um evento em Run-time. A sub MudouHora, neste exemplo, será avisada sempre que o relógio for alterado.