/// <summary> /// Native .Net implementation of Microsoft.Win32.SystemEvents.PowerModeChanged does not work on MacOS: do nothing for Mono /// Therefore, we can use this function to get power change notifications from OS-specific implementation /// /// Do not use 'Microsoft.Win32.SystemEvents.PowerModeChanged' event directly in common code /// Instead, use: 'Platform.PowerModeChanged' /// </summary> public static void NotifyPowerModeChanged(object sender, Microsoft.Win32.PowerModeChangedEventArgs e) { // External notification in use. // Unsubscribe from default event for future PowerModeChanged -= NativeNotifyPowerModeChanged; // Call event PowerModeChanged?.Invoke(sender, e); }
private void ChangePowerMode() { PowerModeChanged?.Invoke(SystemInformation.PowerStatus.PowerLineStatus); }
/// <summary> /// .Net implementation of PowerModeChanged /// </summary> public static void NativeNotifyPowerModeChanged(object sender, Microsoft.Win32.PowerModeChangedEventArgs e) { PowerModeChanged?.Invoke(sender, e); }