Узнать, когда пользователь или программа изменили системное время - WM_TIMECHANGE



Основное различие между пользователя и хакером, взламывающим какую-либо систему это то, что действия пользователя непредсказуемы, и он действует на более широком фронте.

Когда меняется системное время всем окнам верхнего уровня рассылается сообщение WM_TIMECHANGE, нужен только обработчик этого сообщения.


unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls,
Forms, Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
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 has changed';
end;
end.


Далее: Универсальная функция возврата значения элемента даты »»