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 に答える