我一直在尝试使用Win32_OperatingSystem类(WMI)获取LastBootUpTime。

HRESULT hr = pEnumerator->Next(WBEM_INFINITE, 1,
        &pclsObj, &uReturn);

    if(0 == uReturn)
    {
        break;
    }

    VARIANT vtProp;

    // Get the value of the Name property
    hr = pclsObj->Get(L"LastBootUpTime", 0, &vtProp, 0, 0);
    VariantClear(&vtProp);

我想将此时间写入CTime或COleDateTime变量。但是变量vtProp具有BSTR类型,看起来像 20100302185848.499768 + 300
同样,任何WMI类的任何datetime属性都具有BSTR类型

如何将WMI类的datetime属性放入CTime?

但是如何在C++中使用SWbemDateTime.GetVarDate()?在MSDN中,只需为此功能编写脚本示例

最佳答案

您必须进行一些解析才能将其转换。格式为yyyyMMddhhmmss.ffffff + zzz(zzz是UTC偏移量,以分钟为单位)。 SWbemDateTime.GetVarDate() method可以为您做到。

关于c++ - 如何以日期时间格式获取Win32_OperatingSystem.LastBootUpTime,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2453191/

10-09 22:48