Solange kein Fenster StayOnTop ist und das Öffnen des Dialogfensters nicht zu lange dauert, dürfte dies gehen:
Delphi-Quellcode:
{ Mittig über dem Hauptformular der Anwendung. }
poMainFormCenter:
begin
GetWindowRect(GetForegroundWindow, ParentRect);
nLeft := ParentRect.Left + ((ParentRect.Right - ParentRect.Left) - fWidth) div 2;
nTop := ParentRect.Top + ((ParentRect.Bottom - ParentRect.Top) - fHeight) div 2;
MoveWindow(aWnd, nLeft, nTop, fWidth, fHeight, true);
end;