Check if a program is running (using RXU.DLL)
[Autolink] Menu
/* ------------------------------------------------------------------ */
/* function: isrun.cmd checks if a specific program is running */
/* */
/* Usage: isrun exe_name */
/* */
/* returns: 0 - program is not running */
/* 1 - program is running */
/* 2 - usage error */
/* 255 - cannot load the DLL RXU */
/* */
/* */
/* Notes: This program needs Dave Boll's DLL RXU.DLL */
/* */
/* Author: Michael Platschek (see EMail Addresses) */
/* Based on the program PI2.CMD from the RXU package */
/* */
/* see also Check if a program is running (using PSTAT) */
/* */
/* You cannot check if a .CMD file is running with this */
/* routine! */
/* */
/* get the parameter */
parse upper arg progname
if words( progname ) = 0 | words( progname ) > 1 | ,
progname = '/?' | progname = '?' then
SIGNAL PARAERR
if rxfuncquery( 'rxqprocstatus' ) then
do
/* load RXU DLL */
call rxfuncadd 'rxuinit', 'rxu', 'rxuinit'
call rxuinit
end /* if */
/* install an error handler for SYNTAX errors */
SIGNAL on SYNTAX Name DLLLoadError
/* get the stem with the process information */
call rxqprocstatus 'q.'
/* compare the name of the searched program with */
/* all members of the stem with the running */
/* processes */
do i = 1 to q.0P.0
if progname = translate( filespec( 'n', q.0P.i.6 ) ) then
do
/* program found */
RETURN 1
end /* if */
end /* do */
/* program NOT found */
RETURN 0
/* ------------------------------------------------------------------ */
/* show the usage help */
PARAERR:
say 'ISRUN <PROGRAMMNAME.EXT>'
say ' Return-Codes:'
say ' 0 = program not running'
say ' 1 = program is running'
say ' 2 = invalid call'
say ' 255 = Error loading the DLL RXU'
RETURN 2
/* ------------------------------------------------------------------ */
DLLLoadError:
say 'Error: Cannot load the DLL RXU!'
RETURN 255
/* ------------------------------------------------------------------ */
[Back: Get the parameters as seen by CMD.EXE - 2 -]
[Next: Check if a program is running (using PSTAT)]