系统检测(Windows,Mac OS X或Linux)

时间:2017-03-09 10:55:37

标签: mono system

我尝试开发一个访问COM端口的应用程序。要选择匹配的COM端口,最好自动识别系统。 有没有办法读取系统(Windoews,Linux或MAC)作为字符串或类似的东西? 稍后我想使用USB VID或PID选择一个Virtual Com端口。 如果你能给我一两个甚至三个......建议,那就太好了。

我目前正在开始与Mono合作,并会对某些帮助感到高兴;)

thom Thommy

1 个答案:

答案 0 :(得分:0)

我找到了一个解决方案并创建了几行代码:

    /// <summary>
    /// Get Execution Platform / OS
    ///     return value
    ///     0: nicht erkannt/Error
    ///     1: Windows
    ///     2: MacOSX 
    ///     2: Unix (Linux)
    /// </summary>
    static public int DetectingExecutionPlatform()
    {
        OperatingSystem os = Environment.OSVersion;
        PlatformID pid = os.Platform;
        switch (pid)
        {
            case PlatformID.Win32NT:
            case PlatformID.Win32S:
            case PlatformID.Win32Windows:
            case PlatformID.WinCE:
                return 1;
            case PlatformID.MacOSX:
                return 2;
            case PlatformID.Unix:
                return 3;
            default:
                return 0;
        }
    }  

不幸的是,OS X(macOS 10.12.3 Sierra)显示为UNIX:|

如果有人可以测试代码并向我展示结果,那就太好了。或者谁知道解决方案也欢迎;)

thx和cya Thommy