Avatar
Majkel
Člen
Avatar
Majkel:

Proč mě tohle hází chybu ve Windows 8.1. Díky za rady :-)

using System.Management;
public string Searcher()
        {
            string result = string.Empty;
            ManagementObjectSearcher searcher = new ManagementObjectSearcher("select * from Win32_OperatingSystem");
            foreach (ManagementObject os in searcher.Get())
            {
                result = os["CSDVersion"].ToString();
            }
            return result;
        }
 
Odpovědět 26.11.2014 22:23
Avatar
Nahoru Odpovědět 27.11.2014 8:40
Nikdy neříkej nahlas, že to nejde. Vždycky se totiž najde blbec, který to neví a udělá to...
Avatar
Majkel
Člen
Avatar
Odpovídá na Michal Štěpánek
Majkel:

Už mi to došlo. Když není v Systému Service Pack, tak to vrátí null hodnotu a na tu nelze použít ToString().

Řešení:

result = (os[obj] ?? String.Empty).ToString();

viz.: http://msdn.microsoft.com/…s173224.aspx

Akceptované řešení
+20 Zkušeností
Řešení problému
 
Nahoru Odpovědět 27.11.2014 9:10
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 3 zpráv z 3.