RE:Saber si un Form esta abierto
La mejor forma q conozcon es con las API`s de windows.
Si tienes el handle de la ventana, usa un getwindow, para saber si esta abierto.
para obtener el handle de la ventana es suficiente con tener su titulo.
definicion de las API´s
DECLARE LONG FindWindow IN "user32" ;
STRING lpClassName,;
STRING lpWindowName
DECLARE Integer GetWindow IN WIN32API Integer nHwnd,Integer nCmd
**handle de la ventna
handle=findwindow(0,"titulo de la ventana")
**** saber si abierto
resp=getwindow(handle_ventana,0)
if resp=0
messagebox (" esta cerrado")
else
messagebox ("esta abierto")
endif
si la respuesta del "getwindow" es 0, significa que esta cerrado.
si la respuesta es diferente a 0, significa que sigue abierto.
suerte!