C#: Determinar si el Sistema Operativo es servidor
Introducción
Muchas veces es necesario conocer qué versión de Windows estamos corriendo en nuestros clientes. En esta entrada mostraré cómo saber si el sistema operativo es cliente o es servidor. Con esto lograremos ejecutar determinadas acciones dependiendo de esta funcionalidad.
Función
Básicamente utilizamos la función IsOS para determinar su valor y obtener el resultado que buscamos. Mas información sobre esta función la puedes encontrar aquí.
public class SO { public static bool EsWindowsServer() { //Esta constante indica que hablamos de Windows Server const int OS_ANYSERVER = 29; //Llamamos a la función correspondiente y pasamos como parámetro el valor OS_ANYSERVER (para cualquier SO de servidor). return SO.IsOS (SO.OS_ANYSERVER); } //Llamada a código no administrado. Ver funcionalidad de DllImport en la conclusión. [DllImport("shlwapi.dll", SetLastError=true, EntryPoint="#437")] private static extern bool IsOS(int os); // }
Luego llamas a la función SO.EsWindowsServer() y ya tienes esta funcionalidad disponible para tu aplicación.