0

我有一个(示例)php代码如下:

$name_Proc = "chrome.exe";
$wmi = new COM('winmgmts://'); 
$processes = $wmi->ExecQuery("SELECT * FROM Win32_Process WHERE Name ='".$name_Proc."'"); 

我用它来计算以下代码的过程,

 $array = array();
foreach($processes as $process){ 
         array_push($array,$process->ProcessId);
}
$count_Process = count($array);
return $count_Process;

现在,真正的事情,我现在需要进程创建时间,可以使用带有以下代码的 VBScript:

    strComputer = "."
Set objWMIService = GetObject("winmgmts:\\" & strComputer & "\root\cimv2")

Set colProcessList = objWMIService.ExecQuery _
    ("Select * from Win32_Process Where Name = 'notepad.exe'")

For Each objProcess in colProcessList
    Wscript.Echo objProcess.CreationDate
Next

现在,如果我想知道如何在我的 PHP 脚本中实现它!

有什么线索吗?

4

1 回答 1

0

好的,对不起大家,刚刚看了,现在明白了!我想到了。这是代码,希望它可以帮助将来的人:)

foreach ($processes as $process) {
print $process->CreationDate;
}

使用了这段代码,完整代码如下:

function processMade($pid) {
$name_Proc = "9052";
$wmi = new COM('winmgmts://'); 
$processes = $wmi->ExecQuery("SELECT * FROM Win32_Process WHERE ProcessId ='".$name_Proc."'"); 
$array = array();
foreach ($processes as $process) {
array_push($array,print $process->CreationDate);
}
return $array;
}

或者干脆使用这个:

 $name_Proc = "9052"; //this is the PID, if you want it by name than change the ProcessId = '".$name_Proc."'" in the 4th line.
    $wmi = new COM('winmgmts://'); 
    $processes = $wmi->ExecQuery("SELECT * FROM Win32_Process WHERE ProcessId ='".$name_Proc."'"); 
    $array = array();
    foreach ($processes as $process) {
    array_push($array,print $process->CreationDate);
    }

最好的,

阿山

于 2012-07-05T15:02:00.017 回答