REM Task Functions
REM Thomas Figg => theskung@hotmail.com
REM You may use this free of charge
PROC Main:
Tasks:("")
GET
ENDP
REM task$ is the task name eg SYS$SHLL
PROC Goto:(task$)
LOCAL lc139z$(15),lc140z%(2)
lc139z$=task$
lc139z$=lc139z$+CHR$(0)
lc140z%(1)=256
lc140z%(2)=UADD(ADDR(lc139z$),1)
IF (OS(136,ADDR(lc140z%())) AND 1)=0 AND lc140z%(1)<>0
CALL(6541,0,lc140z%(1))
ENDIF
ENDP
REM match$ is the match
PROC Tasks:(match$)
LOCAL lc149z%,lc146z%,lc143z$(15),lc145z%,lc141z%
LOCAL lc148z$(16),lc147z$(15),lc142z%,lc144z$(13),P%
lc141z%=CALL(136)
PRINT " Process ID Priority"
PRINT REPT$("Ä",29)
lc142z%=ADDR(lc143z$)
IF P%<1
lc144z$="*"+CHR$(0)
ELSE
lc144z$=match$+CHR$(0)
ENDIF
DO
lc145z%=lc146z%
lc147z$=lc143z$
lc146z%=CALL(2952,lc146z%,0,0,UADD(lc142z%,1),UADD(ADDR(lc144z$),1))
POKEB lc142z%,CALL(185,0,0,0,0,UADD(lc142z%,1))
IF lc147z$=lc143z$ OR lc146z%=lc145z%
BREAK
ENDIF
IF lc146z%=lc141z%
lc148z$=">"+lc143z$
ELSE
lc148z$=" "+lc143z$
ENDIF
lc149z%=CALL(648,lc146z%) AND 255
PRINT lc148z$+REPT$(" ",14-LEN(lc148z$))+NUM$(lc146z%,-6)+NUM$(lc149z%,-7)
UNTIL 0
PRINT
ENDP
REM task$ is the task to kill... BE CAREFULL !!!!
PROC Kill:(task$)
LOCAL lc184z%,lc185z%,dmyz1$(6),lc187z%,lc186z%
LOCAL lc183z%,lc182z$(12)
lc182z$=task$
lc183z%=CALL(392,ADDR(lc182z$)+1)
IF lc183z%>0
lc184z%=3328
lc185z%=lc183z%
lc186z%=OS(136,ADDR(lc184z%))
IF lc186z% AND 1
lc187z%=(lc184z% AND 255)-256
RAISE lc187z%
ELSE
lc187z%=0
ENDIF
ENDIF
GET
ENDP
REM rename task
REM from$ the orignial name
REM to$ the new name
PROC Rntask:(from$,to$)
LOCAL lc163z$(15),lc162z$(15),lc164z%(2),dmyz1%
lc162z$=from$
lc163z$=to$
lc162z$=lc162z$+CHR$(0)
lc163z$=lc163z$+CHR$(0)
lc164z%(1)=256
lc164z%(2)=UADD(ADDR(lc162z$),1)
IF (OS(136,ADDR(lc164z%())) AND 1)=0 AND lc164z%(1)<>0
CALL(3208,lc164z%(1),0,0,0,UADD(ADDR(lc163z$),1))
ENDIF
ENDP
|
|