Što se tiče POWER dugmeta na tastaturi, ti možeš u podešavanjima sistema (Control Panel/Power Options/Advanded) da podesiš da windows ne reaguje na POWER dugme...
Dalje pri pokretanju programa (može i u FormCreate), pozoveš funkciju ReisterHotKey, koja će za paramater vk imati vrednost 255.
Napraviš handler za WM_HOTKEY poruke, i u njemu napišeš kod koji će se izvršavati.
Evo, ovako:
Code:
unit Unit1;
...
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
procedure WMHotkey(var msg:TMessage);message WM_HOTKEY;
public
...
procedure TForm1.WMHotkey(var msg:TMessage);
begin
// Ovde upisi kod koji hoces da izvrsis...
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
RegisterHotKey(handle,0,0,255);
end;
...
Sad ja znam zašto sam vam ovo ispričao, ovo će sigurno nekome koristiti....