diff --git a/src/system/OS_info/os_info_windows.cpp b/src/system/OS_info/os_info_windows.cpp index d97b149..8d9e16f 100644 --- a/src/system/OS_info/os_info_windows.cpp +++ b/src/system/OS_info/os_info_windows.cpp @@ -54,7 +54,7 @@ static std::string version_name() { IEnumWbemClassObject* query_iterator_raw; wchar_t query_lang[] = L"WQL"; - wchar_t query[] = L"SELECT Name FROM Win32_OperatingSystem"; + wchar_t query[] = L"SELECT Caption FROM Win32_OperatingSystem"; if(FAILED(wbem_services->ExecQuery(query_lang, query, WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY, nullptr, &query_iterator_raw))) return {}; std::unique_ptr query_iterator(query_iterator_raw); @@ -70,15 +70,13 @@ static std::string version_name() { std::unique_ptr value(value_raw); VARIANT val; - value->Get(L"Name", 0, &val, 0, 0); + VariantInit(&val); + value->Get(L"Caption", 0, &val, 0, 0); iware::detail::quickscope_wrapper val_destructor{[&] { VariantClear(&val); }}; ret = iware::detail::narrowen_bstring(val.bstrVal); } - const auto sep = ret.find('|'); - if(sep != std::string::npos) - ret.resize(sep); return ret; }