Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Googler


Сообщения: 3665
Благодарности: 1563

Профиль | Отправить PM | Цитировать


Diamond
Цитата:
не знаю как получить mof-описание для каждого метода или свойства по отдельности
может просто пропарсить текст?
Код: Выделить весь код
#include <array.au3>
_ArrayDisplay(GetObjDescriptions("root\cimv2","Win32_Service"),'Win32_Service')

Func GetObjDescriptions($strNameSpace, $strClass, $strComputer = ".")
    Local $objWMIService, $objClass, $strMOF, $array, $num, $out
    Local Const $wbemFlagUseAmendedQualifiers = 0x20000
    Local Const $regExp = '\s\[(?:\\\]|[^]])*?Description\("((?:\\"|[^"])*)"(?:\\\]|[^]])*\] \w+ (\w+)'

    $objWMIService = ObjGet("winmgmts:{impersonationLevel=impersonate}!\\" & _
         $strComputer & "\" & $strNameSpace)
    $objClass = $objWMIService.Get($strClass, $wbemFlagUseAmendedQualifiers)
    $strMOF = $objClass.GetObjectText_
    $array = StringRegExp($strMOF, $regExp, 3)
    $num = UBound($array)/2
    Dim $out[$num+1][2] = [[$num]]
    For $i=1 To $num
        $out[$i][0] = $array[$i*2-1]
        $out[$i][1] = $array[$i*2-2]
    Next
    Return $out
EndFunc
Это сообщение посчитали полезным следующие участники:

Отправлено: 07:10, 03-07-2007 | #126