Добавление своих пунктов меню в системное меню окна

Поместите:

const
  My_MenuItem = $4000;
Константу можете назвать по-своему и дать ей другой номер, но есть некоторые номера, которые зарезервированы Windows для собственных пунктов меню – не попадите на них.

Обязательно поместите в секцию private строку:

procedure HookSysCommand(var message: TwmSysCommand); message WM_SysCommand;

procedure TForm1.HookSysCommand(var message: TwmSysCommand);
begin
  inherited;
  case Message.CmdType of
    My_MenuItem: ShowMessage('Пункт активизирован');
  end;
end;

procedure TForm1.FormCreate(Sender: TObject);
var
  SysMenu: THandle;
begin
  SysMenu := GetSystemMenu(Handle, False);
  AppendMenu(SysMenu, mf_SEPARATOR, 0, #0);
  AppendMenu(SysMenu, mf_BYPOSITION, My_MenuItem, 'Новый пункт');
{ AppendMenu добавляет новый пункт в конец, а для вставки своего пункта в другую
  порядковую позицию воспользуйтесь InsertMenu. Пример:
  InsertMenu(SMenu, 1, mf_BYPOSITION, My_MenuItem, 'Новый пункт'); }
end;
[Алексей]