Question:
Is it possible to detect if the system time has been changed by
another application?
Answer:
The following example demonstrates trapping the WM_TIMECHANGE
message. Note: Applications that change the system time should
broadcast a WM_TIMECHANGE message to all top level windows.
type
 TForm1 = class(TForm)
 private
 { Private declarations }
 procedure WMTIMECHANGE(var Message: TWMTIMECHANGE);
 message WM_TIMECHANGE;
 public
 { Public declarations }
 end;
var
 Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.WMTIMECHANGE(var Message: TWMTIMECHANGE);
begin
 Form1.Caption := 'Time Changed';
end;