Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/268.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP获取进程创建时间?_Php_Process_Count_Win32com - Fatal编程技术网

PHP获取进程创建时间?

PHP获取进程创建时间?,php,process,count,win32com,Php,Process,Count,Win32com,我有一个(示例)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){

我有一个(示例)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脚本中实现它


有什么线索吗?

好的,对不起大家,只是看了一下,现在明白了!我想出来了。下面是代码,希望它能帮助将来的人:)

使用此代码,完整代码如下:

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);
    }
最好的


Ahsan

所以在4分钟内,你突然想出了解决方案,并发布了答案?有趣…思想没有时间告诉你!每次有人从PHP使用COM时,他们都应该被迫在他们的眼睛里插入一个热叉。谢谢你的评论,如果你能在这里告诉我它的替代方案,你会很好吗?你…吗?哦,好吧,我想你可以评论一下。。!
 $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);
    }