IF FILE(FULLPATH(CURDIR())+[facturacion.exe]) AND IsExeRunning([facturacion.exe])=.F. THEN
cpars='"'+ALLTRIM(_SCREEN.obj_sysdatabasename)+'" '+'"'+ALLTRIM(_SCREEN.obj_sysusername)+'" '+'"'+ALLTRIM(_SCREEN.obj_syspassword)+'" '
cpars=cpars+'"'+ALLTRIM(STR(_SCREEN.obj_sysnworksuc))+'" '+'"'+ALLTRIM(STR(_SCREEN.obj_sysnempleado))+'" '
cpars=cpars+'"'+ALLTRIM(_SCREEN.obj_syscempresa)+'" '+'"'+ALLTRIM(STR(_SCREEN.obj_syspais))+'" '+'"'+ALLTRIM(STR(_SCREEN.obj_sysestado))+'" '
cpars=cpars+'"'+ALLTRIM(STR(_SCREEN.obj_sysmunicipio))
oWsh=CREATEOBJECT("wscript.shell")
oWsh.Run(FULLPATH("facturacion.exe")+" "+cpars,2,)
RELEASE cpars, oWsh
ENDIF
FUNCTION IsExeRunning(tcName, tlTerminate)
LOCAL loLocator, loWMI, loProcesses, loProcess, llIsRunning
loLocator = CREATEOBJECT('WBEMScripting.SWBEMLocator')
loWMI = loLocator.ConnectServer()
loWMI.Security_.ImpersonationLevel = 3 && Impersonate
loProcesses = loWMI.ExecQuery([SELECT * FROM Win32_Process WHERE Name = '] + ALLTRIM(tcName) + ['])
llIsRunning = .F.
IF loProcesses.Count > 0
FOR EACH loProcess in loProcesses
llIsRunning = .T.
IF tlTerminate=.T. THEN
loProcess.Terminate(0)
ENDIF
ENDFOR
ENDIF
RELEASE loLocator
RETURN llIsRunning
ENDFUNC
Slds...
Mapasac
General Escobedo, N.L. Mexico