penso che l'unica soluzione sia quella di riuscire a far visualizzare subito la form principale a tutto schermo prima che venga mostrata la MessageBox.
Sono certo che Gianluigi darebbe la soluzione migliore al tuo problema, ma nel frattanto provo io.
Sì... è opportuno far visualizzare subito la finestra principale del programma lanciato con "Shell", perché questo programma potrebbe così imporre la sua finestra come quella che deve restare sempre "attiva" sulla Scrivania.
A tal proposito il programma, lanciato con "Shell", potrebbe contenere nel suo codice un Oggetto "Timer", che ogni tot tempo - sollevando l'Evento "_Timer()" - impone che la finestra "attiva" sulla Scrivania sia ancora quella principale del programma.
Per far funzionare tale soluzione è necessario attivare nel programma, che sarà lanciato da "Shell", anche il Componente "
gb.desktop".
Mostro un semplice esempio:
Private tempus As Timer
Public Sub Form_Activate()
With tempus = New Timer As "Tempus"
.Delay = 250
.Start
End With
End
Public Sub Tempus_Timer()
Desktop.ActiveWindow = Me.Id
End