2017-03-09 18 views
0

私はCOMポートにアクセスするアプリケーションを開発しようとしています。一致するCOMポートを選択するには、システムを自動的に認識することをお勧めします。 システム(Windoews、LinuxまたはMAC)を文字列または同様のものとして読み取る方法はありますか? 後で、USB VIDまたはPIDを使用してVirtual Comポートを選択したいと思います。 あなたが私に1つか2つか3つのアドバイスを与えることができれば素晴らしいことでしょう。システム検出(Windows、Mac OS XまたはLinux)

私は現在、モノラルで作業を開始していますし、何かの助けについて喜んでいるだろう;)

THX Thommy

+0

可能性のある重複した[ランタイム例えばにてOSのバージョンを確認する方法ウィンドウや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を