You should intercept WM_TIMECHANGE message. Implementation of this idea is so:
type TForm1 = class(TForm) Label1: TLabel; private procedure MyMessage(var Msg: TWMTimeChange); message WM_TIMECHANGE; { Private declarations } public { Public declarations } end; ... procedure TForm1.MyMessage(var Msg: TWMTimeChange); begin if Msg.Result=0 then Form1.Label1.Caption:='OK'; end;