LOCAL oService, oProcesses, oProcess
oService = GETOBJECT("winmgmts:\\.\root\cimv2")
oProcesses = oService.ExecQuery([SELECT * FROM Win32_Process ] +;
[WHERE caption LIKE "%apiviewer%"])
*!* oProcesses = oService.ExecQuery("SELECT * FROM Win32_Process")
CREATE CURSOR cs (caption C(50), commandline C(100),;
creationdate C(20), csname C(32),;
executablepath C(250), sessionid I, processid I,;
owner C(32), domain C(32))
FOR EACH oProcess IN oProcesses
WITH oProcess
STORE REPLICATE(CHR(0),100) TO cUser, cDomain
.GetOwner(@cUser, @cDomain)
INSERT INTO cs VALUES (;
NVL(.caption, ""),;
NVL(.commandline, ""),;
TRANSFORM(NVL(.creationdate, "")),;
NVL(.csname, ""),;
NVL(.executablepath, ""),;
NVL(.sessionid, 0),;
.processid,;
m.cUser, m.cDomain;
)
DOEVENTS
*!* * terminate with exit code 0
*!* .Terminate(0)
ENDWITH
NEXT
SELECT cs
IF RECCOUNT() = 0
= MESSAGEBOX("Process or processes not found. ")
ELSE
GO TOP
BROWSE NORMAL NOWAIT
ENDIF
|