DEFINE CLASS ScreenHook AS CUSTOM oScr = _SCREEN PROCEDURE oScr.Resize() * Code here to handle resize of _SCREEN IF _SCREEN.WINDOWSTATE = 1 && minimize * your background task code here ENDIF ENDPROC ENDDEFINE _SCREEN.NewObject("oSreen", "ScreenHook") && VFP 5 use AddObjectAn other silly way is to make a Timer, Check _SCREEN.WINDOWSTATE every min.