2017-03-09 119 views
0

我尝试开发一个访问COM端口的应用程序。要选择一个匹配的COM端口,最好自动识别系统。 有没有办法将系统(Windoews,Linux或MAC)作为字符串或类似的东西读取? 稍后,我想使用USB VID或PID选择一个虚拟COM端口。 如果你能给我一两个甚至三个......意见,那将是非常棒的。系统检测(Windows,Mac OS X或Linux)

我现在开始使用Mono工作,会很高兴的东西帮助;)

THX Thommy

+0

的可能的复制[如何检查在运行例如操作系统版本Windows或Linux没有使用条件编译语句](http://stackoverflow.com/questions/5116977/how-to-check-the-os-version-at-runtime-eg-windows-or-linux-without-using -a-CON) – SushiHangover

回答

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

相关问题