Base de Conhecimento

Notificações nativas do Windows com o Delphi

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;

Written by David Paul van der Wulp
Desenvolvedor Delphi

Contato

Deixe-nos ajudá-lo a realizar seus sonhos.