Darf der PC nur unter bestimmten Umständen nicht über den Power-Knopf heruntergefahren werden oder gilt das immer? für das zweite ließe sich das auch über Windows regeln ...
Systemsteuerung -> Energieoptionen -> Erweitert -> "Beim Drücken des Netzschalters am Computer"
Wobei du das Ausschalten mit "lang drücken" nicht verhindern kannst außer das BIOS lässt da irgendwelche Optionen zu.
Edit: und falls du es wirklich über die Message im eigenen Programm machen willst dann eher so:
Delphi-Quellcode:
procedure WMPowerBroadcast(var Msg : TWMPower); message WM_POWERBROADCAST;
.
.
.
procedure TForm1.WMPowerBroadcast(var Msg: TWMPower);
begin
Msg.Result := BROADCAST_QUERY_DENY;
end;