>lcExeName = "instgb5.exe" > >* Is EXE running >? IsExeRunning(lcExeName) >... >* Terminate EXE if it's running >? IsExeRunning(lcExeName, .T.) >... >RETURN > >FUNCTION IsExeRunning(tcName, tlTerminate) >LOCAL loLocator, loWMI, loProcesses, loProcess, llIsRunning >loLocator = CREATEOBJECT('WBEMScripting.SWBEMLocator') >loWMI = loLocator.ConnectServer() >loProcesses = loWMI.ExecQuery([SELECT * FROM Win32_Process WHERE Name = '] + tcName + [']) >llIsRunning = .F. >IF loProcesses.Count > 0 > FOR EACH loProcess in loProcesses > llIsRunning = .T. > IF tlTerminate > loProcess.Terminate(0) > ENDIF > ENDFOR >ENDIF > >RETURN llIsRunning >>>