I am writing a Delphi 7 program on XP SP2 to provide basic speech telephony via a headset attached to a voice modem. I want to start the program minimized (or better still, iconified). To make a call, the user clicks on the task bar item, which causes the window to assume its normal size so that the call buttons are visible. This bit works. What I also want is for the window to bring itself to the top when an incoming call is detected. Running the code under IDE, when the ringing event is detected, it executes MainForm.Activate; and MainForm.windowState := wsNormal; but this has no effect on the minimized window. What am I doing wrong?