⤷ Check if ComboBox is dropped down

Use SendMessage function with CB_GETDROPPEDSTATE message. If Result is true, then the list box of ComboBox is dropped down. You may send this message every second by using Timer component.

procedure TForm1.Timer1Timer(Sender: TObject);
  if SendMessage(ComboBox1.Handle,CB_GETDROPPEDSTATE,0,0)=1 then
    Caption:='ComboBox is opened'
  else Caption:='ComboBox is closed';
More for developers