--- ---

Things like the start menu, on screen keyboard etc. seem to float on top of everything, but never get focused. Use CreateParams to make the form non focusable.

    type
      TForm1 = class(TForm)
      private
        { Private declarations }
      protected
        procedure CreateParams(var Params: TCreateParams); override;
      public
        { Public declarations }
      end;

    procedure TForm1.CreateParams(var Params: TCreateParams);
    const
      WS_EX_NOACTIVATE = $8000000;
    begin
      inherited;
      Params.ExStyle := Params.ExStyle + WS_EX_NOACTIVATE;
    end;