02-16-2011, 02:25 PM
Here is how to get command line and other properties of all processes.
Macro Macro1557
This code gets only commandlines of devenv.exe processes.
Macro Macro1558
Macro Macro1557
def wbemFlagReturnImmediately 16
def wbemFlagForwardOnly 32
int IFlags = wbemFlagReturnImmediately|wbemFlagForwardOnly
IDispatch objWMIService._getfile("winmgmts:")
IDispatch colProcesses = objWMIService.ExecQuery("SELECT Name,ProcessId,ExecutablePath,CommandLine FROM Win32_Process",@,IFlags)
IDispatch objProcess
foreach objProcess colProcesses
,int pid=objProcess.ProcessId
,str name=objProcess.Name
,if(!pid or name~"System") continue
,str path=objProcess.ExecutablePath; err path=""
,str cl=PathGetArgs(objProcess.CommandLine); err cl=""
,cl.trim("''")
,out "------------[]name: %s[]path: %s[]pid: %i[]cl: %s" name path pid cl
This code gets only commandlines of devenv.exe processes.
Macro Macro1558
def wbemFlagReturnImmediately 16
def wbemFlagForwardOnly 32
int IFlags = wbemFlagReturnImmediately|wbemFlagForwardOnly
IDispatch objWMIService._getfile("winmgmts:")
IDispatch colProcesses = objWMIService.ExecQuery("SELECT ProcessId,CommandLine FROM Win32_Process WHERE Name='devenv.exe'",@,IFlags)
IDispatch objProcess
foreach objProcess colProcesses
,int pid=objProcess.ProcessId
,str cl=PathGetArgs(objProcess.CommandLine)
,cl.trim("''")
,out cl