21,886
社区成员
发帖
与我相关
我的任务
分享
<?
$objLocator = new COM("WbemScripting.SWbemLocator");
$wmi = $objLocator->ConnectServer();
$kkk =array('Caption','ExecutablePath');
$lll = array('GetOwner');
$buffer = _GetWMI($wmi, "Win32_Process", $kkk, $lll);
echo '<pre>';
print_R($buffer);
echo '</pre>';
function _GetWMI($wmi, $strClass, $strValue = array(), $strMethod = array() ) {
$objWEBM = $wmi->Get($strClass);
if( PHP_VERSION < 5 ) {
$objProp = $objWEBM->Properties_;
$arrProp = $objProp->Next($objProp->Count);
$objMeth = $objWEBM->Methods_;
$arrMeth = $objMeth->Next($objMeth->Count);
$objWEBMCol = $objWEBM->Instances_();
$arrWEBMCol = $objWEBMCol->Next($objWEBMCol->Count);
} else {
$arrProp = $objWEBM->Properties_;
$arrMeth = $objWEBM->Methods_;
$arrWEBMCol = $objWEBM->Instances_();
}
foreach($arrWEBMCol as $objItem) {
//reset($arrProp);
$arrInstance = array();
foreach($arrProp as $propItem) {
eval("\$value = \$objItem->" .$propItem->Name .";");
if( empty( $strValue ) ) {
$arrInstance[$propItem->Name] = trim($value);
} else {
if( in_array( $propItem->Name, $strValue ) ) {
$arrInstance[$propItem->Name] = trim($value);
}
}
}
foreach($arrMeth as $i=>$methItem) {
if(is_array($strMethod) and count($strMethod)>0) {
if(in_array($methItem->Name,$strMethod)) {
eval("\$value2 = \$objItem->".$methItem->Name."();");
$arrInstance[$methItem->Name] = trim($value2);
}
}
}
$arrData[] = $arrInstance;
}
return $arrData;
}
?>