RE:como controlar q mi aplicacion no se ejecute 2
Podes contar la cantidad de ventanas existentes, todos los ejecutables de VFP (los proyectos que compiles) son de la clase NombreEjecutable + 6c00000 o sea si tu ejecutable se llama Prueba.exe la clase de ventanas que genera va a ser Prueba6c00000 con la API FindWindowEx contas la cantidad de ventanas de esa clase y listo. Este es el código:
DECLARE Long FindWindowEx IN User32 Long hWnd1, Long hWnd2, String lpsz1, String lpsz2
hhWnd=0
hwnd=FindWindowEx(0,0,"Prueba6c000000","")
DO WHILE hwnd<>0
hwnd=FindWindowEx(0,hwnd,"Prueba6c000000","")
hhWnd=hhWnd+1
ENDDO
IF (hhWnd>2)
MSGBOX("Sólo puede ejecutarse una sesión por sistema."+CHR(13)+CHR(13)+"Salga de otras sesiones que tenga abiertas y ejecute nuevamente.",0+16,"¡Atención!")
QUIT
ENDIF