2017-03-09 1 views
0

J'essaie de développer une application qui accède à un port COM. Pour sélectionner un port COM correspondant, il serait bon de reconnaître le système automatiquement. Y at-il un moyen de lire le système (Windoews, Linux ou MAC) comme une chaîne ou quelque chose de similaire? Plus tard, je voudrais sélectionner un port Com virtuel en utilisant le USB VID ou PID. Ce serait génial si vous pouviez me donner un ou deux ou même trois ... conseils.Détection du système (Windows, Mac OS X ou Linux)

Je suis commence actuellement travailler avec Mono et serait heureux sur l'aide de quelque chose;)

thx Thommy

+0

double possible de [Comment vérifier la version du système d'exploitation lors de l'exécution par exemple Windows ou Linux sans utiliser une instruction de compilation conditionnelle] (http://stackoverflow.com/questions/5116977/how-to-check-the-os-version-at-runtime-eg-windows-or-linux-without-using -a-con) – SushiHangover

Répondre

0

J'ai trouvé une solution et ont créé quelques lignes de code:

/// <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; 
     } 
    } 

Malheureusement, OS X (macOS 10.12.3 Sierra) est affiché sous UNIX: |

Ce serait génial si quelqu'un pouvait tester le code et me présenter le résultat. Ou qui sait une solution est également la bienvenue;)

thx et cya Thommy