O Windows 10 e 11 têm seu próprio sistema de notificação. Em uma versão recente do Delphi, foi adicionado um componente chamado TNotificationCenter
. Adicione-o ao seu formulário e você poderá exibir notificações nativas do Windows.
Exemplo:
const UPDATE_NOTIFICATION_ID = 1; procedure TForm1.Button1Click; var Notification: TNotification; begin Notification := NotificationCenter1.CreateNotification; Notification.Name := 'MyName'; Notification.Number := UPDATE_NOTIFICATION_ID; Notification.AlertBody := 'Update 2.3.5 is available, click here to install the update now.'; Notification.EnableSound := False; Notification.FireDate := Now; Notification.HasAction := True; NotificationCenter1.PresentNotification(Notification); end;
Para tratar um clique de notificação, implementamos OnReceiveLocalNotification
procedure TForm1.NotificationCenter1ReceiveLocalNotification(Sender: TObject; ANotification: TNotification); begin if ANotification.Number = UPDATE_NOTIFICATION_ID then begin InstallUpdate; end; end;
Para agendar uma notificação, usamos NotificationCenter.ScheduleNotification
procedure ScheduleNotification; var Notification: TNotification; begin Notification := NotificationCenter1.CreateNotification; Notification.AlertBody := 'It''s time to drink coffee :-)'; Notification.FireDate := IncHour(Now); NotificationCenter1.ScheduleNotification(Notification); end;
e para cancelar a(s) notificação(ões):
procedure CancelNotifications; begin // Cancel a specific one NotificationCenter1.CancelNotification('MyName'); // Cancel all notifications NotificationCenter1.CancelAll; end;
Contato