Evitar multiples instancias de una aplicacion

Eric
03 de Diciembre del 2003
Mi problema es que hay usuarios que por tener oculta la barra de inicio de Windows no se percatan de que ya tienen en ejecucion una instancia de mi aplicacion, abriendola una y otra vez, al grado de que si una de estas instancias falla, terminan dañando la base de datos; agradeceria mucho que me ayuden a resolver mi problema.

MMM
03 de Diciembre del 2003
* Si hay otra utilidad activa sale del programa
local lc,ll
declare integer FindWindow in win32api string cNULL, string cWinName
lc=_SCREEN.CAPTION
_SCREEN.CAPTION="_"+lc
if FindWindow(0, lc) # 0
estaactivo=.t.
else
estaactivo=.f.
endif
_SCREEN.CAPTION=lc
if estaactivo
messagebox("El programa ya está abierto",16, "ADVERTENCIA")
do salir
endif