Matheus, follow an example... but it’s in VB.Net... may be?
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
'Define classe SystemEvents para receber as notificações dos eventos
'quando uma preferência do usuário for alterada, a paleta sofre alteração, a exibição das configurações mudar
'ou quando ocorrer uma alteração na data/hora
AddHandler SystemEvents.UserPreferenceChanging, AddressOf SystemEvents_UserPreferenceChanging
AddHandler SystemEvents.PaletteChanged, AddressOf SystemEvents_PaletteChanged
AddHandler SystemEvents.DisplaySettingsChanged, AddressOf SystemEvents_DisplaySettingsChanged
AddHandler Microsoft.Win32.SystemEvents.TimeChanged, AddressOf TimeChangedEvent
End Sub
'Verifica alterações na data/hora do sistema
Sub TimeChangedEvent(ByVal sender As Object, ByVal e As System.EventArgs)
MessageBox.Show("A data/hora do sistema foi alterada")
End Sub
' Este método é chamado quando uma preferência do usuário é alterada.
Private Sub SystemEvents_UserPreferenceChanging(ByVal sender As Object, ByVal e As UserPreferenceChangingEventArgs)
MessageBox.Show("Alteração de preferencias do usuário : " & e.Category.ToString())
End Sub
' Este método é chamado quando a paleta é alterada.
Private Sub SystemEvents_PaletteChanged(ByVal sender As Object, ByVal e As EventArgs)
MessageBox.Show("Ocorreu uma alteração na Paleta")
End Sub
' Este método é chamado quando as exibição das configurações muda
Private Sub SystemEvents_DisplaySettingsChanged(ByVal sender As Object, ByVal e As EventArgs)
MessageBox.Show("Exibição das configurações foi alterada.")
End Sub
' Verifica as alterações das preferências do usuário
Sub UserPreferenceChangedEvent(ByVal sender As Object, ByVal e As Microsoft.Win32.UserPreferenceChangedEventArgs)
' Verifica a categoria alterada
Select Case e.Category
Case Microsoft.Win32.UserPreferenceCategory.Color
MessageBox.Show("Foram alteradas as cores do sistema")
Case Microsoft.Win32.UserPreferenceCategory.Screensaver
MessageBox.Show("Foi alterado o screensaver do sistema")
Case Microsoft.Win32.UserPreferenceCategory.Window
MessageBox.Show("Foram alteradas dimensões ou características do sistema")
End Select
End Sub
See more in:
VB . NET - Monitoring System Event Notifications
Translating...
private void Form1_Load(object sender, System.EventArgs e) {
// Define classe SystemEvents para receber as notificações dos eventos
// quando uma preferência do usuário for alterada, a paleta sofre alteração, a exibição das configurações mudar
// ou quando ocorrer uma alteração na data/hora
SystemEvents.UserPreferenceChanging += new System.EventHandler(this.SystemEvents_UserPreferenceChanging);
SystemEvents.PaletteChanged += new System.EventHandler(this.SystemEvents_PaletteChanged);
SystemEvents.DisplaySettingsChanged += new System.EventHandler(this.SystemEvents_DisplaySettingsChanged);
Microsoft.Win32.SystemEvents.TimeChanged += new System.EventHandler(this.TimeChangedEvent);
}
// Verifica alterações na data/hora do sistema
void TimeChangedEvent(object sender, System.EventArgs e) {
MessageBox.Show("A data/hora do sistema foi alterada");
}
// Este método é chamado quando uma preferência do usuário é alterada.
private void SystemEvents_UserPreferenceChanging(object sender, UserPreferenceChangingEventArgs e) {
MessageBox.Show(("alteração de preferencias do usuário : " + e.Category.ToString()));
}
// Este método é chamado quando a paleta é alterada.
private void SystemEvents_PaletteChanged(object sender, EventArgs e) {
MessageBox.Show("Ocorreu uma alteração na Paleta");
}
// Este método é chamado quando as exibição das configurações muda
private void SystemEvents_DisplaySettingsChanged(object sender, EventArgs e) {
MessageBox.Show("Exibição das configurações foi alterada.");
}
// Verifica as alterações das preferências do usuário
void UserPreferenceChangedEvent(object sender, Microsoft.Win32.UserPreferenceChangedEventArgs e) {
// Verifica a categoria alterada
switch (e.Category) {
case Microsoft.Win32.UserPreferenceCategory.Color:
MessageBox.Show("Foram alteradas as cores do sistema");
break;
case Microsoft.Win32.UserPreferenceCategory.Screensaver:
MessageBox.Show("Foi alterado o screensaver do sistema");
break;
case Microsoft.Win32.UserPreferenceCategory.Window:
MessageBox.Show("Foram alteradas dimensões ou características do sistema");
break;
}
}
Thank you very much, that’s exactly what I needed!
– Matheus Oliveira.
Matheus, thank you for punctuating me!
– FabioIn